Linux環境での圧縮・解凍コマンドをまとめました。
圧縮プログラムが多いので、忘れやすいですよね。

※以下の表はディレクトリごと圧縮する場合を想定して記載しています。
 targetが圧縮するディレクトリ名、target.zip(.tar .tgz .tar.xz .tbz .tlz)が圧縮・解凍するファイル名です。

拡張子ごとの圧縮方法と解凍方法まとめ表
拡張子圧縮方法解凍方法
.zipzip -r target.zip target/unzip target.zip
.tartar -cvf target.tar target/tar -xvf target.tar
.gz .tar.gz .tgztar -cvzf target.tgz target/tar -xvzf target.tgz
.xz .tar.xztar --xz -cvf target.tar.xz target/tar --xz -xvf target.tar.xz
.bz2 .tar.bz2 .tbztar -cvjf target.tbz target/tar -xvjf target.tbz
.lz .tlztar --lzip -cvf target.tlz target/ (*1)tar --lzip -xvf target.tlz

*1 以下のようなエラーが発生した場合、
 lzipがインストールされていない可能性があります。
 tar (child): Error is not recoverable: exiting now
 lzipをインストールする方法:sudo apt-get install lzip

■解説
zip以外はtarコマンドを使います。
zipの-rオプションは、ディレクトリを圧縮する場合に指定します。
以下はtarコマンドのオプションの説明です。
-c 圧縮する場合に指定します。(createのcと覚えましょう)
-x 解凍する場合に指定します。(extractのxと覚えましょう)
-v 情報を出力します。指定しなくても動作します。
-f 後続のファイルが圧縮ファイル名示します。ファイル名の直前でなければなりません。順番をいれかえると意図しない動作になるため注意(例えば-cfvにすると、vという名の圧縮ファイルが生成されます)。
-z gzipプログラムで圧縮する場合に指定します。
--xz(または-J) xzプログラムで圧縮する場合に指定します。
-j bzip2プログラムで圧縮する場合に指定します。
--lzip lzipプログラムで圧縮する場合に指定します。

■(参考)圧縮サイズ比較
全てテキストファイルで構成されるディレクトリを圧縮した場合、
(バイナリの場合はまた結果は変わってくると思うので、参考までに)
結果は以下となりました。
最もサイズが小さいのは、tbz(gzip2)でした。

   273  8月 30 22:45 target.tbz
   289  8月 30 22:49 target.tlz
   294  8月 30 22:44 target.tgz
   316  8月 30 22:44 target.xz
  1331  8月 30 23:02 target.zip
 10240  8月 30 23:02 target.tar



スポンサードリンク