はじめに
エンジニアになったばかりのひよっこです🐥
tar
とgzip
を用いた「アーカイブ」・「圧縮」・「解凍」・「展開」について、簡単にまとめました。
tarコマンド
- 指定したファイルをアーカイブしたり、アーカイブファイルからファイルの情報を表示したり、取り出したりするためのコマンド。
アーカイブ(archive)とは:
記録保管所の意味。
複数のファイルを1つのファイルにまとめて管理するファイルのこと。
- 基本構文
$ tar 【オプション】 ファイル名 or ディレクトリ名
tarコマンドのオプション
オプション | 役割 |
---|---|
-c | アーカイブファイルを作成 |
-f | アーカイブファイル名を指定 |
-v | 詳細情報を表示 |
-z | アーカイブファイルに対して、gzipを使用 |
-x | アーカイブファイルを展開 |
圧縮とアーカイブは違うの?
=>違う。
圧縮は文字通りの意味だが、Linuxで広く使われているアーカイバー「tar」は圧縮の機能は持っていない。
「圧縮アーカイブ」として作成するのが常であるため、「圧縮ファイル」と「アーカイブファイル」が混同しがちなので注意。
gzipコマンド
gzipの形式に圧縮したり、展開したりするコマンド。
gzipは圧縮形式の一つで拡張子は.gz
となる。
- 基本構文
$ gzip 【オプション】 ファイル名 or ディレクトリ名
例えば、、
$ gzip hoge.txt
これによりhoge.txt
をgzip形式で圧縮した圧縮ファイルhoge.gz
が作られる。
すこーし実例
アーカイブ → 圧縮
① hoge.txt, fuga.txt, piyo.txt
をアーカイブする(ひとまとめにする)
$ tar -cvf hogehoge.tar hoge.txt, fuga.txt, piyo.txt
アーカイブされたhogehoge.tar
が作られる。
② hogehoge.tar
をgzipで圧縮する
$ gzip hogehoge.tar
hogehoge.tar.gz
が作られる。
解凍 → 展開
③ hogehoge.tar.gz
を解凍する。
$ gzip -d hogehoge.tar.gz
解凍され、アーカイブされたhogehoge.tar
の状態に戻る。
④ hogehoge.tar
を展開する。
$ tar -xvf hogehoge.tar
hoge.txt, fuga.txt, piyo.tx
の状態に戻る。
実際、こんなにまどろっこしいことをしなくても、
↓下記のコマンドを使えば、①〜②と③〜④を一度に行える。
アーカイブ → 圧縮 を一度に行うコマンド
$ tar -zcvf fileName.tar.gz filename
ファイルのアーカイブを作成しgzip形式で圧縮する。
拡張子 .tar.gz または .tgzとする。
解凍 → 展開 を一度に行うコマンド
$ tar -zxvf fileName.tar.gz filename
gzipで圧縮されたアーカイブを展開する。