ファイルの圧縮、伸長
ファイルの圧縮にはgzipコマンドがよく使われます。gzipコマンドで圧縮されたファイルは拡張子.gzが付加されます。
[コマンド書式]
gzip -オプション ファイル名
gzipコマンドの主なオプションは次のとおりです。
オプション | 説明 |
---|---|
-c | 標準出力へ出力し、ファイルへの出力はしません |
-d | 圧縮ファイルを伸長します |
-r | ディレクトリ内のファイルも圧縮します |
-v | 圧縮状況を表示します |
[コマンド実行例]secure-20121111を圧縮し、伸長します。
$ ls -lh secure-20121111
-rw-r–r– 1 test test 18M 11月 20 13:58 secure-20121111
secure-20121111を圧縮
$ gzip secure-20121111
$ ls -lh secure-20121111
ls: secure-20121111 にアクセスできません: そのようなファイルやディレクトリはありません
$ ls -lh secure-20121111.gz
-rw-r–r– 1 test test 1001K 11月 20 13:58 secure-20121111.gz
secure-20121111を伸長
$ gzip -d secure-20121111.gz
$ ls -lh secure-20121111.gz
ls: secure-20121111.gz にアクセスできません: そのようなファイルやディレクトリはありません
$ ls -lh secure-20121111
-rw-r–r– 1 test test 18M 11月 20 13:58 secure-20121111
圧縮前のファイルも残しておきたい場合は、-cオプションを使用し、標準出力へ出力したものをファイル出力へリダイレクトして保存します。
$ gzip -c secure-20121111 > secure-20121111.gz
gzip形式で圧縮したファイルはgzip -dで伸張できますが、gunzipコマンドを使用しても
ファイルの慎重が行えます。
[コマンド書式]
gunzip -オプション ファイル名
[コマンド実行例]secure-20121111を伸長
ls -lh secure-20121111.gz
-rw-r–r– 1 test test 1001K 11月 20 13:58 secure-20121111.gz
$ gunzip secure-20121111.gz
$ ls -lh secure-20121111
-rw-r–r– 1 test test 18M 11月 20 13:58 secure-20121111
gzipの他にbzip2コマンドでもファイルの圧縮は行えます。
gzipコマンドに比べ、ファイルの圧縮率が高く、圧縮後のファイルサイズは小さくなりますが、処理には時間が掛かります。
[コマンド書式]
bzip2 -オプション ファイル名
bzip2コマンドの主なオプションは次のとおりです。
オプション | 説明 |
---|---|
-c | 標準出力へ出力し、ファイルへの出力はしません |
-d | 圧縮ファイルを伸長します |
-r | ディレクトリ内のファイルも圧縮します |
-v | 圧縮状況を表示します |
[コマンド実行例]secure-20121111を圧縮し、伸長します。
$ ls -lh secure-20121111
-rw-r–r– 1 test test 18M 11月 20 13:58 secure-20121111
secure-20121111を圧縮します。secure-20121111.gzに比べてファイルのサイズが小さくなっています。
$ bzip2 secure-20121111
ls -lh secure-20121111.bz2
-rw-r–r– 1 test test 718K 11月 20 13:58 secure-20121111.bz2
secure-20121111を伸長
$ bzip2 -d secure-20121111.bz2
$ ls -lh secure-20121111
-rw-r–r– 1 test test 18M 11月 20 13:58 secure-20121111
gzip同様、圧縮前のファイルも残しておきたい場合は、-cオプションを使用し、標準出力へ出力したものを
ファイル出力へリダイレクトして保存します。
$ bzip2 -c secure-20121111 > secure-20121111.bz2
「.bz2」形式で圧縮したファイルはbunzip2コマンドを使用してもファイルの伸長が行えます。
[コマンド書式]
bunzip2 -オプション ファイル名
[コマンド実行例]secure-20121111.bz2を伸長
ls -lh secure-20121111.bz2
-rw-r–r– 1 test test 718K 11月 20 13:58 secure-20121111.bz2
$ bunzip2 secure-20121111.gz
$ ls -lh secure-20121111
-rw-r–r– 1 test test 18M 11月 20 13:58 secure-20121111
ファイルのアーカイブ
ファイルアーカイブとは、複数のファイルやディレクトリをまとめて一つのファイルにすることを指します。
ファイルアーカイブにはtarコマンドを使用します。
tarコマンドはファイルを非圧縮でアーカイブしますが、オプションを併用することで、
圧縮された状態のアーカイブファイルを作成することが可能です。
[コマンド書式]
tar -オプション ファイル名/ディレクトリ名
tarコマンドの主なオプションは次のとおりです
オプション | 説明 |
---|---|
-c | アーカイブを作成する |
-x | アーカイブからファイルを抽出します |
-t | アーカイブの内容を確認します |
-f | アーカイブファイル名を指定します |
-z | gzipによる圧縮/展開をします |
-j | bzip2による圧縮/展開をします |
-v | 処理の詳細情報を表示します |
-u | アーカイブ内にある同名のファイルより新しいものだけを追加します |
-r | アーカイブ内にファイルを追加します |
tarコマンドのオプションでは「-」を省略することができます。
[コマンド実行例]join01.txt,join02.txt,join03.txtをtarfile01.tarにアーカイブ
$ tar cvf tarfile01.tar join01.txt join02.txt join03.txt
join01.txt
join02.txt
join03.txt
オプション「z」や、「j」を付けることにより圧縮したアーカイブファイルになります。
[コマンド実行例]tarfile01.tarをカレントディレクトリに展開
$ tar xvf tarfile01.tar
join01.txt
join02.txt
join03.txt
カレントディレクトリに同名のファイルがある場合、アーカイブファイル内のファイルで上書きされますので注意が必要です。