tar/zipコマンドで解凍・圧縮一覧まとめ(gz、zip、tar.xzなど)

Linux(UNIX系OS) 上のデータの解凍・展開方法をまとめています。

圧縮・解凍コマンドを知らなければ、ソフトウェアをインストールすることができません(解凍することができない)

解凍・圧縮方法について

拡張子ごとの解凍・圧縮コマンドをまとめています。ここでの「filename」とは展開する物のファイル名です。

解凍方法について

解凍コマンド一覧を載せておきます。

圧縮書庫形式 拡張子 解凍コマンド
TAR 形式+GZIP 形式 ~.tgz, ~.tar.gz gzip -dc filename | tar xvf -
GNU tarが使える時(zオプションを使える時)
tar zxvf filename
LZH 形式 ~.lzh lha e filename
もしくは
lha x filename
ZIP 形式 ~.zip unzip filename
bzip2(bz2) 形式 ~.bz2 bzip2 -dc filename
もしくは
bunzip2 -c filename
tar.bz2(tbz) 形式 ~.tar.bz2, ~.tbz bzip2 -dc filename | tar xvf -
y/z/I オプションを使えるtarコマンドを持っている時
tar yxvf filename
tar zxvf filename
tar Ixvf filename
tar.xz 形式 ~.tar.xz tar -Jxvf filename
xz-utils パッケージが必要
7-zip 形式 ~.7z 7z x filename.7z
p7zip, p7zip-full パッケージが必要
rar 形式 ~.rar unrar x filename
unrar パッケージが必要
tar.z(taz) 形式 ~.tar.Z tar zxvf filename
もしくは
uncompress -c filename | tar xvf -
tar.bz2、tbz2形式 ~.tar.bz2、tbz2 tar -jxf filename
bzip2 -dc filename | tar xvf -
gzip(gz) 形式 ~.gz gunzip filename
もしくは
gzip -dc filename
compress(z) 形式 ~.z uncompress filename
もしくは
compress -d filename
tar 形式 ~.tar tar xvf filename
ARJ 形式 ~.arj unarj filename
cab 形式 ~.cab cabextract filename.cab
cabextract パッケージが必要

圧縮方法 について

圧縮コマンド一覧を載せておきます。

gzip は compress より圧縮率が高く、bzip2 は gzip よりさらに圧縮率が高いです。
ただし、その分圧縮にかかる時間は4倍くらいになります。

圧縮書庫形式 拡張子 圧縮コマンド
tar 形式+GZIP 形式 ~.tgz, ~.tar.gz tar zcvf backup.tar.gz file1 file2
tar.BZ2(TBZ) 形式 ~.tar.bz2, ~.tbz tar Icvf backup.tar.bz2 file1 file2
7-zip 形式 ~.7z 7z a filename.7z file1/
p7zip, p7zip-full パッケージが必要
rar 形式 ~.rar rar a filename.rar file1
rarパッケージが必要
tar+xz 形式 ~.tar+xz tar -Jcvf backup.tar.xz file1
tar.bz2、tbz2形式 ~.tar.bz2、~.tbz2 tar -jcf backup.tar.bz2 file1 file2
zip 形式 ~.zip zip -r compress.zip file1 file2
lzh 形式 ~.lzh lha a compress.lzh file1 file2
compress(Z) 形式 ~.Z compress -vf filename
tar.Z(TAZ) 形式 ~.tar.Z tar Zcvf compress.tar.Z file1 file2
bzip2(BZ2) 形式 ~.bz2 bzip2 file1
gzip(GZ) 形式 ~.gz gzip file1
(複数のファイルを、1つの圧縮ファイルにできない)
tar 形式 ~.tar tar cvf backup.tar file1 file2
(ただしTAR 形式では圧縮は行わない)
cab 形式 ~.cab lcab -r file1/ filename.cab
lcab パッケージが必要

各コマンドの説明・オプション紹介

TAR オプション一覧

tar.gzファイルを展開せずに中身を確認します

% zcat FILE.tar.gz | tar tvf -

もしくは、

% tar tvzf FILE.tar.gz

tarの展開で時間を短くします(-vオプション=詳細モードを表示しない)

% tar xzf FILE.tar.gz
  • -c, --create 新しいアーカイブを作成します
  • -d, --diff, --compare アーカイブとファイル・システムとの差分を取る
  • --delete アーカイブから削除します(磁気テープ上の tarfile に 使 う事は出来ない)
  • -r, --append アーカイブの最後にファイルを追加します
  • -t, --list アーカイブ内容の一覧を表示します
  • -u, --update ア ーカイブ内の同名のファイルより新しいものだけを追加します
  • -x, --extract, --get アーカイブからファイルを抽出します
  • z, gzipを通し、tar.gz形式のファイルを一度に圧縮・解凍します。
  • I, bzip2を通し、tar.bz2形式のファイルを一度に圧縮・解凍します。

UNCOMPRESS(COMPRESS) オプション一覧

圧縮ファイル名は元ファイル名の最後に .Z を付けたものとなります。

Lempel-Zipアルゴリズムを使用して圧縮しており、昔はよく使われていましたが、 今はより圧縮率の高い gzip があるので、特に理由がない限り gzip を使う方がよいと思われます。

  • -d 圧縮ファイルを展開します
  • -v ファイルが展開(圧縮)されるたびにメッセージを表示します
  • -c 圧縮ファイルを標準出力し,元ファイルを残す
  • -r 再起的にディレクトリ内を展開(圧縮)します

GUNZIP(GZIP) オプション一覧

  • -d 圧縮ファイルを展開します
  • -v ファイルが展開(圧縮)されるたびにメッセージを表示します
  • -c 圧縮ファイルを標準出力し,元ファイルを残す
  • -r 再起的にディレクトリ内を展開(圧縮)します
  • -l 圧縮ファイルのリストを表示します
  • -n 元のファイル名とタイムスタンプは保存しない

ZIP オプション一覧

zip は Windows でよく使用される圧縮形式の一つです。

  • -d アーカイブファイル内から指定したファイルを削除します
  • -m アーカイブファイル内から指定したファイルを移動します
  • -k ファイル名をMS-DOS(8.3)にフォーマットします
  • -q クイック圧縮をする -z コメントを追加する
  • -t 指定した日付以降のファイルを対象とします
  • -u 変更または新しいファイルのみアップデートします
  • -l リターンコードをLFからCR+LFに変換します
  • -ll リターンコードをCR+LFからLFに変換します
  • -e パスワードを付けて圧縮します
  • -r ファイルとディレクトリを再帰的に圧縮します

UNZIP オプション一覧

  • -Z 圧縮情報を表示する。zipinfoと同等
  • -p 標準出力する
  • -l 圧縮情報を短い表示方式で表示します
  • -z アーカイブコメントを表示します

LHA オプション一覧

lzh は zipと並んで Windows でよく使用される圧縮形式の一つです。

LZH形式は、日本人の吉崎栄泰様が作られた圧縮形式なので、日本ではポピュラーな形式です。

  • a 追加。fileをarchive_fileに追加します。 file が ディ レクトリであれば、そのディレクトリに含まれるファイルをすべて追加する。
  • u 更新。fileがarchive_fileに格納されていないか、 も し く は 格されているものが古ければ、file を archive_file追加する。
  • x または e 抽出。archive_file から file を抽出する。 file の 指定がなければ archive_file 内の全てのファイルを抽出する。 抽出すべきファイルがすでに存在している場合には、重ね書きしていいかの問い合わせを行ないます。
  • d 削除。archive_file から file削除します。
  • m 移動。fileを archive_fileに追加した後、file を削除する。これは、key に a を、modifiers に d を指定した時と同じ動作を行ないます。
  • c 新規作成。archive_file を新たに作成し、fileを追加する。