【チートシート】各ファイル圧縮・解凍コマンドのオプションとコマンド例 (zip, gzip, zstd, brotli, etc.)

記事タイトルとURLをコピーする

はじめに

zip、gzip、Bzip2、Snappy、Zstd、Brotli など、ファイル圧縮形式は多岐にわたります。

本記事では、これら主要な9種類のファイル圧縮コマンドの具体的な使用例をチートシート形式でまとめています。
各コマンドの詳細なオプションや使い方については、--help オプションやマニュアルも併せて参照してください。

このドキュメントは情報量が多いため、各セクションを折りたたんでいます。
ご覧になりたいコマンドのセクションをクリックして展開するなどしてご活用ください。

また、それぞれの圧縮形式の特徴や用途、そして選び方について知りたい方 は以下の記事もぜひご覧ください。

blog.serverworks.co.jp

tar コマンド

クリックすると展開します

オプション

オプション 説明
-c (--create) 新しいアーカイブを作成
-x (--extract) アーカイブを展開
-z (--gzip) gzip 形式で圧縮・展開
-j (--bzip2) bzip2 形式で圧縮・展開
-J (--xz) xz 形式で圧縮・展開
-t (--list) アーカイブの内容を展開せずにリスト表示
-v (--verbose) 詳細な出力を表示
-f (--file) アーカイブファイル名を指定

ファイルをアーカイブする (圧縮なし)

tar cvf [アーカイブ後ファイル名.tar] [アーカイブ対象ファイル]
# 例: tar cvf archive.tar file1.txt file2.txt

ファイルをアーカイブする (圧縮あり)

gzip 形式で圧縮 (他の圧縮形式も同様に指定可能)

tar czvf [アーカイブ後ファイル名.tar.gz] [アーカイブ対象ファイル]
# 例: tar czvf archive.tar.gz file1.txt

ディレクトリをアーカイブする (圧縮なし)

tar cvf [アーカイブ後ファイル名.tar] [アーカイブ対象ディレクトリ]
# 例: tar cvf archive.tar my_directory/

ディレクトリをアーカイブする (圧縮あり)

gzip 形式で圧縮 (他の圧縮形式も同様に指定可能)

tar czvf [アーカイブ後ファイル名.tar.gz] [アーカイブ対象ディレクトリ]
# 例: tar czvf archive.tar.gz my_directory/

アーカイブを展開する (圧縮なし)

tar xvf [アーカイブファイル名.tar]
# 例: tar xvf archive.tar

アーカイブを展開する (圧縮あり)

gzip 形式で圧縮されたアーカイブを展開 (他の圧縮形式も同様に指定可能)

tar xzvf [アーカイブファイル名.tar.gz]
# 例: tar xzvf archive.tar.gz

アーカイブの内容をリスト表示する (圧縮なし)

# 圧縮されていないアーカイブの内容をリスト表示
tar tvf [アーカイブファイル名.tar]
# 例: tar tvf archive.tar
# 出力例:
# -rw-r--r-- user/group 1234 2023-10-01 12:00 file1.txt
# -rw-r--r-- user/group 5678 2023-10-01 12:01 file2.txt

アーカイブの内容をリスト表示する (圧縮あり)

他の圧縮形式も同様に指定可能

# gzip 形式で圧縮されたアーカイブの内容をリスト表示
tar tzvf [アーカイブファイル名.tar.gz]
# 例: tar tzvf archive.tar.gz
# 出力例:
# -rw-r--r-- user/group 1234 2023-10-01 12:00 file1.txt
# -rw-r--r-- user/group 5678 2023-10-01 12:01 file2.txt

zip コマンド

クリックすると展開します

オプション

オプション 説明
-r (--recurse-paths) ディレクトリを再帰的に圧縮
-q (--quiet) 詳細な出力を抑制
-e (--encrypt) パスワード付きで圧縮
-9 (--best) 最大圧縮率で圧縮 (その分圧縮速度は遅くなる)

複数のファイルを圧縮する

zip [圧縮後ファイル名.zip] [圧縮するファイル1] [ファイル2 ...]
# 例: zip archive.zip file1.txt file2.txt

ディレクトリを圧縮する

zip -r [圧縮後ファイル名.zip] [圧縮するディレクトリ]
# 例: zip -r website.zip public_html/

パスワード付きで圧縮する

zip -r -e [圧縮後ファイル名.zip] [圧縮するファイルまたはディレクトリ]
# 例: zip -r -e secret.zip confidential_folder/
# コマンド実行後、パスワードの入力を求められます

unzip コマンド

クリックすると展開します

オプション

オプション 説明
-l (--list) 圧縮ファイルの内容をリスト表示する
-d (--directory) 圧縮ファイルを特定のディレクトリに展開する
-t (--test) 正常に展開できるか確認する

圧縮ファイルを展開する

unzip [圧縮ファイル名.zip]
# 例: unzip website.zip

圧縮ファイルの内容をリスト表示する

unzip -l [圧縮ファイル名.zip]
# 例: unzip -l myarchive.zip
# 出力例:
# Archive:  myarchive.zip
#   Length      Date    Time    Name
# ---------  ---------- -----   ----
#      1234  2023-10-01 12:00   file1.txt
#      5678  2023-10-01 12:01   file2.txt
# ---------                     -------
#      6912                     2 files

圧縮ファイルを特定のディレクトリに展開する

unzip [圧縮ファイル名.zip] -d [展開先ディレクトリ]
# 例: unzip myarchive.zip -d ./tmp/
# 出力例:
# Archive:  myarchive.zip
#   inflating: ./tmp/file1.txt
#   inflating: ./tmp/file2.txt

圧縮ファイルが正常に展開できるか確認する

unzip -t [圧縮ファイル名.zip]
# 例: unzip -t myarchive.zip
# 出力例:
# Archive:  myarchive.zip
#   testing: file1.txt   OK
#   testing: file2.txt   OK
# No errors detected in compressed data of myarchive.zip.

gzip コマンド

クリックすると展開します

オプション

オプション 説明
-k (--keep) 元のファイルを削除しない
-d (--decompress) 解凍(伸長)を行う
-1 (--fast) 最速の圧縮速度(低圧縮率)
-9 (--best) 最も遅い圧縮速度(高圧縮率)

ファイルを圧縮する (元のファイルは削除される)

gzip [圧縮対象ファイル]
# 例: gzip access_log.txt  (-> access_log.txt.gz が生成され、元の access_log.txt は削除されます)

ファイルを圧縮し、元のファイルも残す

gzip -k [圧縮対象ファイル]
# 例: gzip -k access_log.txt

圧縮されたファイルを解凍する (元の.gzファイルは削除される)

gzip -d [圧縮ファイル名.gz]
# 例: gzip -d access_log.txt.gz

圧縮されたファイルを解凍し、元のファイルを残す

gzip -dk [圧縮ファイル名.gz]
# 例: gzip -dk access_log.txt.gz

bzip2 コマンド

クリックすると展開します

オプション

オプション 説明
-d (--decompress) 解凍を行う
-k (--keep) 元のファイルを削除しない
-1 (--fast) 最速の圧縮速度
-9 (--best) 最も遅い圧縮速度

ファイルを圧縮する (元のファイルは削除される)

bzip2 [圧縮対象ファイル]
# 例: bzip2 large_report.pdf (-> large_report.pdf.bz2 が生成され、元のファイルは削除されます)

ファイルを圧縮し、元のファイルも残す

bzip2 -k [圧縮対象ファイル]
# 例: bzip2 -k large_report.pdf

圧縮されたファイルを解凍する (元の.bz2ファイルは削除される)

bzip2 -d [圧縮ファイル名.bz2]
# 例: bzip2 -d large_report.pdf.bz2

圧縮されたファイルを解凍し、元のファイルを残す

bzip2 -dk [圧縮ファイル名.bz2]
# 例: bzip2 -dk large_report.pdf.bz2

7z コマンド

クリックすると展開します

インストール

7z コマンドを使用するには、p7zip-full パッケージをインストールする必要があります。

# Debian/Ubuntu 系
sudo apt install p7zip-full
# Red Hat/CentOS 系
sudo yum install p7zip
# macOS (Homebrew を使用)
brew install p7zip
# Windows
# 7-Zip 公式サイト (https://www.7-zip.org/) からインストーラーをダウンロードしてインストールしてください。

コマンドは 7z7za の2つがあり、どちらも同じように使えます。

オプション

オプション 説明
a アーカイブに追加(圧縮)
x アーカイブを展開(フルパス展開)
e アーカイブを展開(現在のディレクトリに展開)
-m[圧縮方式] 圧縮方式を指定(例: LZMA、LZMA2、Bzip2 など)
-p[パスワード] パスワードを設定

複数のファイルを圧縮する

7z a [圧縮後ファイル名.7z] [圧縮するファイル1] [ファイル2 ...]
# 例: 7z a myproject.7z source.code data.db

ディレクトリをまとめて圧縮する

7z a [圧縮後ファイル名.7z] [圧縮するディレクトリ]
# 例: 7z a entire_backup.7z my_data_folder/

圧縮方式を指定して圧縮する

7z a -m[圧縮方式] [圧縮後ファイル名.7z] [圧縮するファイルまたはディレクトリ]
# 例: 7z a -m0=LZMA2 myproject.7z source.code
# 他の圧縮方式も指定可能(例: -m0=BZip2、-m0=Deflate など)

パスワードを設定して圧縮する

7z a -p[パスワード] [圧縮後ファイル名.7z] [圧縮するファイルまたはディレクトリ]
# 例: 7z a -pMySecret secured_docs.7z private/
# -p の直後にパスワードを指定します。パスワードを省略すると、対話形式で入力を求められます。

圧縮ファイルを解凍する (フルパスで展開)

7z x [圧縮ファイル名.7z]
# 例: 7z x myproject.7z
# 出力例:
# Extracting archive: myproject.7z
# Enter password (will not be echoed):
# Extracting  source.code/file1.txt
# Extracting  source.code/file2.txt
# Everything is Ok

圧縮ファイルを解凍する (現在のディレクトリに展開)

7z e [圧縮ファイル名.7z]
# 例: 7z e myproject.7z
# 出力例:
# Extracting archive: myproject.7z
# Enter password (will not be echoed):
# Extracting  file1.txt
# Extracting  file2.txt
# Everything is Ok

xz コマンド

クリックすると展開します

オプション

オプション 説明
-k (--keep) 元のファイルを削除しない
-d (--decompress) 解凍を行う
-9 (--best) 最も遅い圧縮速度

ファイルを圧縮する (元のファイルは削除される)

xz [圧縮対象ファイル]
# 例: xz database_dump.sql (-> database_dump.sql.xz が生成され、元のファイルは削除されます)

ファイルを圧縮し、元のファイルも残す

xz -k [圧縮対象ファイル]
# 例: xz -k database_dump.sql

圧縮されたファイルを解凍する (元の.xzファイルは削除される)

xz -d [圧縮ファイル名.xz]
# 例: xz -d database_dump.sql.xz

圧縮されたファイルを解凍し、元のファイルを残す

xz -dk [圧縮ファイル名.xz]
# 例: xz -dk database_dump.sql.xz

lz4 コマンド

クリックすると展開します

オプション

オプション 説明
-d (--decompress) 解凍を行う
-k (--keep) 元のファイルを削除しない
-9 (--best) 最も遅い圧縮速度

ファイルを圧縮する (元のファイルは削除される)

lz4 [圧縮対象ファイル]
# 例: lz4 application.log (-> application.log.lz4 が生成され、元のファイルは削除されます)

ファイルを圧縮し、元のファイルも残す

lz4 -k [圧縮対象ファイル]
# 例: lz4 -k application.log

圧縮されたファイルを元に戻す (元の.lz4ファイルは削除される)

lz4 -d [圧縮ファイル名.lz4]
# 例: lz4 -d application.log.lz4

圧縮されたファイルを元に戻し、元のファイルを残す

lz4 -dk [圧縮ファイル名.lz4]
# 例: lz4 -dk application.log.lz4

snzip (snappy) コマンド

クリックすると展開します

インストール

https://github.com/kubo/snzip?tab=readme-ov-file に記載の手順に従ってインストールしてください。

オプション

オプション 説明
-d (--decompress) 解凍を行う
-k (--keep) 元のファイルを削除しない (ファイルを直接指定した場合に有効)
-c (--stdout) 結果を標準出力に書き出す

ファイルを圧縮する (元のファイルは削除される)

snzip [圧縮対象ファイル]
# 例: snzip stream_data.log (-> stream_data.log.sz が生成され、元のファイルは削除されます)

ファイルを圧縮し、元のファイルも残す

snzip -k [圧縮対象ファイル]
# 例: snzip -k stream_data.log

# または、リダイレクションを使用する (元のファイルは変更されない)
snzip < [圧縮対象ファイル] > [出力ファイル名.sz]
# 例: snzip < stream_data.log > stream_data.log.sz

圧縮されたファイルを解凍する (元の.szファイルは削除される)

snzip -d [圧縮ファイル名.sz]
# 例: snzip -d stream_data.log.sz (-> data.log が生成され、元の data.log.sz は削除されます)

圧縮されたファイルを解凍し、元のファイルを残す

snzip -dk [圧縮ファイル名.sz]
# 例: snzip -dk stream_data.log.sz

# または、リダイレクションを使用する (元のファイルは変更されない)
snzip -d < [圧縮ファイル名.sz] > [出力ファイル]
# 例: snzip -d < stream_data.log.sz > stream_data.log

圧縮されたファイルを標準出力に書き出す

snzip -c [圧縮ファイル名.sz] > [出力ファイル]
# 例: snzip -c stream_data.log.sz > decompressed_data.log
# 標準出力に書き出すことで、他のコマンドとパイプでつなぐことも可能
# 例: snzip -c stream_data.log.sz | grep "特定の文字列"

brotli (br) コマンド

クリックすると展開します

オプション

オプション 説明
-d (--decompress) 解凍を行う
-k (--keep) 元のファイルを削除しない
-q (--quality) [品質] 圧縮品質(0-11、デフォルトは11)
-o (--output) [出力ファイル名] 出力ファイル名を指定する

ファイルを圧縮する (元のファイルは削除される)

brotli [圧縮対象ファイル]
# 例: brotli style.css (-> style.css.br が生成され、元のファイルは削除されます)

ファイルを圧縮し、元のファイルも残す

brotli -k [圧縮対象ファイル]
# 例: brotli -k style.css

圧縮されたファイルを解凍する (元の.brファイルは削除される)

brotli -d [圧縮ファイル名.br]
# 例: brotli -d style.css.br

圧縮されたファイルを解凍し、元のファイルを残す

brotli -dk [圧縮ファイル名.br]
# 例: brotli -dk style.css.br

圧縮品質を指定して圧縮する

# 品質5の場合
brotli -q 5 [圧縮対象ファイル] -o [出力ファイル名.br]
# 例: brotli -q 5 script.js -o script.js.br

zstd コマンド

クリックすると展開します

オプション

オプション 説明
-d (--decompress) 解凍を行う
-k (--keep) 元のファイルを削除しない
-1 (--fast) 最速の圧縮速度
-19 (--ultra) 最も遅い圧縮速度

ファイルを圧縮する (元のファイルは削除される)

zstd [圧縮対象ファイル]
# 例: zstd huge_dataset.json (-> huge_dataset.json.zst が生成され、元のファイルは削除されます)

ファイルを圧縮し、元のファイルも残す

zstd -k [圧縮対象ファイル]
# 例: zstd -k huge_dataset.json

圧縮されたファイルを解凍する (元の.zstファイルは削除される)

zstd -d [圧縮ファイル名.zst]
# 例: zstd -d huge_dataset.json.zst

圧縮されたファイルを解凍し、元のファイルを残す

zstd -dk [圧縮ファイル名.zst]
# 例: zstd -dk huge_dataset.json.zst