はじめに
zip、gzip、Bzip2、Snappy、Zstd、Brotli など、ファイル圧縮形式は多岐にわたります。
本記事では、これら主要な9種類のファイル圧縮コマンドの具体的な使用例をチートシート形式でまとめています。
各コマンドの詳細なオプションや使い方については、--help オプションやマニュアルも併せて参照してください。
このドキュメントは情報量が多いため、各セクションを折りたたんでいます。
ご覧になりたいコマンドのセクションをクリックして展開するなどしてご活用ください。
また、それぞれの圧縮形式の特徴や用途、そして選び方について知りたい方 は以下の記事もぜひご覧ください。
- はじめに
- tar コマンド
- zip コマンド
- unzip コマンド
- gzip コマンド
- bzip2 コマンド
- 7z コマンド
- xz コマンド
- lz4 コマンド
- snzip (snappy) コマンド
- brotli (br) コマンド
- zstd コマンド
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/) からインストーラーをダウンロードしてインストールしてください。
コマンドは 7z
と 7za
の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