圧縮コマンド

************************************************************************
           tar コマンド

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

ファイルをアーカイブ  gzip 形式で圧縮 (他の圧縮形式も同様に指定可能)

tar czvf [アーカイブ後ファイル名.tar.gz] [アーカイブ対象ファイル]
# 例: tar czvf archive.tar.gz file1.txtgzip 形式で圧縮 (他の圧縮形式も同様に指定可能)

—–

ディレクトリをアーカイブ

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

—–

アーカイブを展開

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

—–

アーカイブの内容をリスト表示

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

——————————————————————–

         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/

————

解凍  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

————————————————————

     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 パッケージをインストール
dnf -y install p7zip
インストール済み:
7zip-standalone-25.01-1.el10_1.x86_64

完了しました!

————

オプション説明
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 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

————-

**********************************************************************

1. 代表的なコマンドの圧縮率比較(目安)

一般的に、圧縮率が高い順(ファイルサイズが小さくなる順)に並べると以下のようになります。

xz / 7z (LZMA/LZMA2方式)
圧縮率: 最も高い。
特徴: 非常に強力だが、圧縮に時間がかかり、メモリ消費量も多い。

bzip2 (ブロックソート方式)
圧縮率: 高い。
特徴: gzipよりは小さくなるが、xzには及ばない。中程度の処理速度。

gzip (Deflate方式)
圧縮率: 標準的。
特徴: 処理が非常に高速で、Unix/Linux環境で最も普及している。

zip (Deflate方式)
圧縮率: gzipと同等か、やや劣る。
特徴: Windowsとの互換性が高く、複数ファイルを1つにまとめる(アーカイブ)機能が一体化している。

———————

2. 数値による比較例

100MBのログファイル(テキスト)を圧縮した場合の推定サイズ:
コマンド 圧縮後サイズ (目安) 処理速度

    xz -9    元データ 100 MB –         約 10~15 MB 非常に遅い

    bzip2 -9   元データ 100 MB -         約 15~20 MB 普通
 
    gzip -9    元データ 100 MB -         約 25~30 MB 速い

    zip       元データ 100 MB -        約 25~30 MB 速い

3. オプションによる調整   多くのコマンドでは、
  -1(速度優先・圧縮率低)から

   -9(圧縮率優先・速度低)のオプションで比率を調整できます。

   例: gzip -9 file.txt (最大限に圧縮する)

4. 適切な使い分け
バックアップや配布用(サイズ最小化): xz または 7-Zip

日常的な利用・ログ転送(速度重視): gzip

Windowsユーザーとの受け渡し: zip