
新Linux入門|ファイルの圧縮と解凍
Linuxでは、たくさんのファイルをまとめたり、容量を小さくして保存したい場面がよくあります。
例えば、バックアップを取るときや、ファイルを他のサーバーへ転送するときなどですね💡
そんなときに使うのが「圧縮(compression)」と「解凍(decompression)」です。
圧縮はファイルサイズを小さくして保存することで、解凍は圧縮ファイルを元に戻す操作です。
Linux では、主に以下のコマンドを使って圧縮・解凍を行います👇
| コマンド | 主な用途 | 特徴 |
|---|---|---|
| tar | ファイルやディレクトリをまとめてアーカイブ | gzipやbzip2と組み合わせ可能 |
| gzip | 単一ファイルをgzip形式で圧縮 | シンプルで高速 |
| bzip2 | 高圧縮率でファイルをbzip2形式で圧縮 | 処理は少し遅め |
| unzip | ZIP形式のアーカイブを展開 | Windowsとの互換性が高い |

🎁 tarコマンド(アーカイブの作成・展開)
まずは、もっとも多く使われる tar コマンドです。
tarは、複数のファイルやディレクトリを1つのアーカイブファイルにまとめるコマンドです。
さらにオプションを付けることで、gzipやbzip2で圧縮も行えます。
🔧 コマンド書式
tar [オプション] [アーカイブファイル名] [対象ファイルやディレクトリ]📋 主なオプション
| オプション | 説明 |
|---|---|
| -c | 新しいアーカイブを作成する。 |
| -x | アーカイブを展開する。 |
| -f [ファイル名] | アーカイブファイル名を指定する。 |
| -v | 作業の進捗を詳しく表示する。 |
| -z | gzipで圧縮・解凍する。 |
| -j | bzip2で圧縮・解凍する。 |
| -C [ディレクトリ] | 展開先のディレクトリを指定する。 |
💡 使用例①:ディレクトリを圧縮
[suzuki@AlmaLinux ~]$ tar -czvf backup.tar.gz documents/📘 documentsディレクトリをgzip形式で圧縮し、backup.tar.gzを作成します。
💡 使用例②:圧縮ファイルを展開
[suzuki@AlmaLinux ~]$ tar -xzvf backup.tar.gz📦 backup.tar.gzを解凍して、元のフォルダ構造を復元します。
💬 -v オプションを付けると、処理中のファイル名が表示されるので進捗がわかりやすいですよ!
💨 gzipコマンド(軽量・高速な圧縮)
gzip はシンプルで高速な圧縮コマンドです。
単一ファイルを .gz 形式に圧縮し、サイズを削減します。
🔧 コマンド書式
gzip [オプション] [ファイル名]📋 主なオプション
| オプション | 説明 |
|---|---|
| -d | gzip形式のファイルを解凍する。 |
| -k | 元のファイルを削除しない(残す)。 |
| -r | ディレクトリを再帰的に処理する。 |
💡 使用例①:ファイルを圧縮
[suzuki@AlmaLinux ~]$ gzip report.txt📁 report.txt が report.txt.gz に変換され、元のファイルは削除されます。
💡 使用例②:ファイルを解凍(元ファイルも残す)
[suzuki@AlmaLinux ~]$ gzip -dk report.txt.gz💬 -k を付けると、report.txt.gz を残したまま解凍できます。
🧮 bzip2コマンド(高圧縮率で節約)
bzip2 は、gzipよりも圧縮率が高く、ファイルサイズをより小さくできます。
ただし、圧縮・解凍に少し時間がかかるのが特徴です。
🔧 コマンド書式
bzip2 [オプション] [ファイル名]📋 主なオプション
| オプション | 説明 |
|---|---|
| -d | bzip2形式のファイルを解凍する。 |
| -k | 元のファイルを残す。 |
| -z | 圧縮を実行する。 |
💡 使用例①:ファイルを圧縮
[suzuki@AlmaLinux ~]$ bzip2 data.csv💾 data.csv が data.csv.bz2 に圧縮されます。
💡 使用例②:ファイルを解凍
[suzuki@AlmaLinux ~]$ bzip2 -dk data.csv.bz2📂 元の data.csv を復元しつつ、圧縮ファイルも残します。
🗂️ unzipコマンド(ZIP形式の展開)
unzip コマンドは、Windowsなどでよく使われるZIP形式のファイルを展開します。
異なるOS間でファイルをやり取りする際にとても便利です。
🔧 コマンド書式
unzip [オプション] [ZIPファイル名]📋 主なオプション
| オプション | 説明 |
|---|---|
| -d [ディレクトリ] | 展開先を指定する。 |
| -l | アーカイブ内のファイルリストを表示する。 |
| -o | 上書き確認を省略して展開する。 |
| -q | メッセージを抑制して静かに処理する。 |
| -v | 詳細情報を表示する。 |
| -x | 特定のファイルを展開対象から除外する。 |
💡 使用例①:ZIPファイルの中身を確認
[suzuki@AlmaLinux ~]$ unzip -l archive.zip💡 使用例②:ZIPを展開
[suzuki@AlmaLinux ~]$ unzip archive.zip -d /tmp/📦 archive.zip の内容を /tmp ディレクトリに展開します。
🧭 圧縮形式の比較まとめ
| 形式 | 使用コマンド | 拡張子 | 特徴 |
|---|---|---|---|
| gzip | gzip / gunzip | .gz | 高速で軽量。一般的によく使われる。 |
| bzip2 | bzip2 / bunzip2 | .bz2 | 高圧縮率。やや時間がかかる。 |
| tar.gz | tar -z | .tar.gz | 複数ファイルをまとめてgzip圧縮 |
| tar.bz2 | tar -j | .tar.bz2 | 高圧縮率でまとめて保存 |
| zip | zip / unzip | .zip | Windowsでも扱いやすい形式 |
💬 まとめ
ファイルの圧縮と解凍は、Linuxを扱ううえで欠かせないスキルです📘
バックアップ、データ転送、ログの保存など、さまざまな場面で使われます。
💡 これだけ覚えよう!
- tar -czvf :ディレクトリをまとめてgzip圧縮
- tar -xzvf :gzipアーカイブを展開
- gzip / bzip2 :単体ファイルの圧縮
- unzip :ZIP形式の展開
これらを使いこなせば、Linux でのファイル管理がぐっと快適になります✨
次にバックアップを作るとき、ぜひ tar -czvf を試してみてくださいね😉
