Ubuntuで圧縮・解凍する方法まとめ|zip・tar.gz・xzの違いとコマンド完全解説

目次

1. Ubuntuで圧縮・解凍する基本知識

Ubuntuで「圧縮」操作を行う目的は主に以下の3つです。

  • ファイルサイズを小さくして保存容量を節約する
  • 複数ファイルを1つにまとめて送信・共有する
  • バックアップやアーカイブ(保管用まとめ)を作成する

Ubuntuではコマンドライン(Terminal)での操作が基本です。GUI(ファイルマネージャ)でも可能ですが、実務やサーバー環境ではコマンド操作が標準になります。

まず理解すべき重要ポイントは「圧縮」と「アーカイブ」は別の概念であることです。

1.1 圧縮とアーカイブの違い

初心者が最も混乱しやすい点がここです。

  • 圧縮(Compression)
    → データの容量を小さくする処理
    例:gzip、bzip2、xz
  • アーカイブ(Archive)
    → 複数ファイルやフォルダを1つにまとめる処理
    例:tar

重要な事実

tar コマンドは「圧縮」ではありません。
正確には「まとめるだけ」のコマンドです。

圧縮を同時に行う場合は、gzipやxzと組み合わせます。

例:

tar -czvf archive.tar.gz folder/

上記の意味:

  • c = 作成(create)
  • z = gzip圧縮
  • v = 処理内容表示(verbose)
  • f = ファイル名指定

1.2 Ubuntuでよく使われる圧縮形式

Ubuntuで一般的に使用される形式は次の通りです。

形式特徴主な用途
zipWindows互換性が高い他OSと共有
tar.gzLinux標準形式一般的な圧縮
tar.bz2gzipより高圧縮容量重視
tar.xz非常に高圧縮大容量データ

選び方の基準

  • Windowsとやり取りする → zip
  • Linux内で完結する → tar.gz
  • サイズ最優先 → tar.xz

1.3 圧縮前に確認すべき基本コマンド

現在のディレクトリを確認:

pwd

ファイル一覧を確認:

ls -l

容量を確認:

du -sh folder/

つまずきポイント

  • 現在のディレクトリを確認せずに実行し、意図しない場所にファイルが作成される
  • 相対パス(例:../folder)を誤る
  • 圧縮前の容量確認を怠り、ディスク容量不足になる

1.4 よくある誤解と注意点

1. 画像や動画はあまり圧縮できない

JPEGやMP4は既に圧縮済み形式のため、容量はほとんど減りません。

2. tar単体では容量は減らない

以下は「まとめるだけ」です。

tar -cvf archive.tar folder/

サイズはほぼ変わりません。

3. 大容量ファイルはCPU負荷が上がる

特に xz 使用時はCPU使用率が高くなります。

4. 権限エラーに注意

システムディレクトリを扱う場合は sudo が必要です。

2. Ubuntuでzip形式に圧縮・解凍する方法

zip形式は、UbuntuとWindows間でファイルをやり取りする場合に最も互換性が高い形式です。
「ubuntu 圧縮」で検索するユーザーの多くは、まずzip形式を求めています。

Ubuntuでは zipunzip コマンドを使用します。
最初にインストール状況を確認します。

2.1 zipコマンドのインストール確認

以下で確認できます。

zip -v

エラーが出る場合はインストールします。

sudo apt update
sudo apt install zip unzip

よくある失敗

  • unzipが未インストールで解凍できない
  • sudoを付け忘れてPermission deniedになる

2.2 ファイルをzipで圧縮する方法

単一ファイルの圧縮:

zip sample.zip file.txt

実行結果:

  • sample.zip が作成される
  • 元ファイルは削除されない

複数ファイルをまとめて圧縮

zip sample.zip file1.txt file2.txt

2.3 フォルダを圧縮する方法(重要)

フォルダを圧縮する場合は -r オプション(再帰処理)が必須です。

zip -r sample.zip folder/

-r を付けないとフォルダ内のファイルは圧縮されません。

つまずきポイント

  • -r を付け忘れる
  • 相対パスを間違える
  • 出力ファイル名を先に書く順番を間違える

正しい順番:

zip -r 出力名.zip 対象フォルダ

2.4 zipファイルを解凍する方法

基本コマンド:

unzip sample.zip

指定フォルダに解凍する場合:

unzip sample.zip -d extracted_folder

注意点

  • 解凍先が既に存在すると上書き確認が表示される
  • 同名ファイルがあると上書きされる可能性がある
  • パスに空白がある場合は引用符で囲む

例:

unzip "sample file.zip"

2.5 パスワード付きzipの作成

セキュリティ目的で暗号化できます。

zip -e secure.zip file.txt

パスワード入力を求められます。

注意点

  • zipの暗号方式は強固ではない(高度なセキュリティ用途には不向き)
  • パスワード紛失=復元困難

2.6 容量確認と圧縮率の確認

zipファイルの情報表示:

unzip -l sample.zip

元容量との比較:

ls -lh

圧縮率が低い理由

  • 画像・動画は既に圧縮済み
  • テキストやログは圧縮率が高い

3. tar.gz(tgz)で圧縮する方法(Linux標準)

Linux環境で最も一般的に使用される形式が tar.gz です。
Ubuntuでソースコード配布やバックアップ用途に広く使われています。

tar.gz は以下の2段階処理です。

  1. tarでファイルをまとめる(アーカイブ)
  2. gzipで圧縮する

この仕組みを理解しておくと応用が容易になります。

3.1 tar.gzで圧縮する基本コマンド

フォルダを圧縮する例:

tar -czvf archive.tar.gz folder/

各オプションの意味:

  • c = create(作成)
  • z = gzip圧縮
  • v = verbose(処理内容表示)
  • f = file(出力ファイル指定)

単一ファイルの場合

tar -czvf archive.tar.gz file.txt

複数ファイルをまとめる場合

tar -czvf archive.tar.gz file1.txt file2.txt

3.2 tar.gzを解凍する方法

基本コマンド:

tar -xzvf archive.tar.gz

オプション解説:

  • x = extract(展開)
  • z = gzip解凍
  • v = 展開内容表示
  • f = ファイル指定

指定ディレクトリへ展開

tar -xzvf archive.tar.gz -C target_folder/

-C は展開先ディレクトリ指定です。

3.3 tarコマンド使用時の重要注意点

1. 展開先のパス構造に注意

圧縮時のディレクトリ構造ごと展開されます。

例:

tar -czvf archive.tar.gz folder/

展開すると:

folder/
  └─ 中身

「中身だけを展開したい」場合は作成時にパスを調整する必要があります。

2. 上書き事故に注意

既存ファイルがある場合、上書きされる可能性があります。
事前に確認する場合:

tar -tzvf archive.tar.gz

-t は一覧表示です。

3. ディスク容量不足

圧縮中は一時的に容量を使用します。
事前確認:

df -h

3.4 gzip単体で圧縮する場合

単一ファイルのみを圧縮:

gzip file.txt

結果:

file.txt.gz

解凍:

gunzip file.txt.gz

注意

  • gzipは元ファイルを削除する(圧縮後に置き換える)
  • 複数ファイルまとめには不向き

3.5 よくある失敗

  • オプション順を間違える
  • fの後にファイル名を書き忘れる
  • -Cの位置を誤る
  • tar単体で容量が減らないと誤解する

4. 高圧縮形式(bz2 / xz)の使い分け

容量をできるだけ小さくしたい場合は、gzipよりも高圧縮な bzip2(bz2)xz を使用します。
ただし、圧縮率が高いほどCPU負荷が増加し、処理時間が長くなる傾向があります。

基本的な考え方は以下の通りです。

  • 速度重視 → gzip
  • 圧縮率重視 → xz
  • 中間的 → bzip2

4.1 tar.bz2 の作成・解凍

圧縮する方法

tar -cjvf archive.tar.bz2 folder/

オプション解説:

  • c = 作成
  • j = bzip2圧縮
  • v = 処理表示
  • f = 出力指定

解凍する方法

tar -xjvf archive.tar.bz2

4.2 tar.xz の作成・解凍

xzは現在、Linuxで最も圧縮率が高い形式の一つです。

圧縮する方法

tar -cJvf archive.tar.xz folder/

J は大文字です(重要)。

解凍する方法

tar -xJvf archive.tar.xz

4.3 圧縮率と処理時間の違い

一般的な傾向(環境により異なる):

  • gzip → 速いが圧縮率は標準
  • bzip2 → gzipより高圧縮、やや遅い
  • xz → 非常に高圧縮、最も遅い

CPU負荷確認

top

大容量ファイルをxzで圧縮するとCPU使用率が高くなるのは正常です。

4.4 実務での選び方

バックアップ用途

→ tar.xz(容量削減重視)

サーバーログ保存

→ tar.gz(バランス重視)

一時的な転送

→ tar.gz または zip

4.5 よくある失敗と注意点

  • J を小文字で書いてエラーになる
  • 古い環境でxzが未インストール
  • CPU負荷でサーバーが重くなる
  • 圧縮中に容量不足になる

xzが未インストールの場合:

sudo apt install xz-utils

5. GUI(ファイルマネージャ)で圧縮する方法

コマンド操作に不慣れな場合は、Ubuntuのファイルマネージャ(通常は「Files」=Nautilus)から圧縮できます。
デスクトップ環境では最も簡単な方法です。

5.1 右クリックから圧縮する手順

手順

  1. 圧縮したいファイルまたはフォルダを選択
  2. 右クリック
  3. 「圧縮(Compress)」を選択
  4. 形式を選択
    • .zip
    • .tar.xz
    • .7z(環境により表示)
  5. 作成をクリック

圧縮ファイルが同じディレクトリに作成されます。

5.2 解凍する方法

手順

  1. 圧縮ファイルを右クリック
  2. 「ここに展開」または「別の場所に展開」
  3. 展開完了

5.3 GUIが使えない場合の確認

最小インストール環境やサーバー版UbuntuではGUIは利用できません。
その場合はコマンド操作が必要です。

デスクトップ版確認:

echo $XDG_CURRENT_DESKTOP

何も表示されない場合はGUI環境が無い可能性があります。

5.4 GUI利用時の注意点

1. 大量ファイルは処理が遅い

進捗表示が分かりにくい場合があります。

2. 詳細な圧縮レベル指定ができない

gzipレベル指定などはGUIでは不可。

3. CPU使用率が見えにくい

処理中にPCが重くなっても理由が分かりにくい。

4. サーバー用途には不向き

SSH接続環境では利用不可。

5.5 よくある失敗

  • 圧縮形式の違いを理解せず選択する
  • 展開先を確認せずファイルが見つからなくなる
  • 既存ファイルを上書きしてしまう

6. 実務で役立つ圧縮の応用テクニック

ここでは、単純な圧縮・解凍だけでなく、実務やサーバー運用で頻出するテクニックを解説します。
ログ除外、特定拡張子のみ圧縮、パスワード付きzipなど、実用性の高い操作です。

6.1 特定の拡張子のみを圧縮する

例:ログファイルのみを圧縮

tar -czvf logs.tar.gz *.log

注意点

  • *(ワイルドカード)はシェル展開(自動展開)される
  • カレントディレクトリ内のみ対象
  • サブフォルダは対象外

サブフォルダも含める場合:

find . -name "*.log" -print0 | tar --null -czvf logs.tar.gz --files-from=-

6.2 特定ファイルを除外して圧縮する

例:.logファイルを除外

tar --exclude="*.log" -czvf archive.tar.gz folder/

複数除外:

tar --exclude="*.log" --exclude="*.tmp" -czvf archive.tar.gz folder/

よくある失敗

  • 引用符を付けずにワイルドカードが展開される
  • 除外パスを誤る

6.3 圧縮レベルを指定する(gzip)

gzipは圧縮レベルを指定可能です(1〜9)。

gzip -9 file.txt
  • 1 = 高速・低圧縮
  • 9 = 低速・高圧縮

tarで指定する場合:

tar -czvf archive.tar.gz folder/ --gzip -9

※環境により指定方法が異なる場合あり

6.4 パスワード付きzipの作成

zip -e secure.zip file.txt

強制的に暗号化する場合:

zip -P password secure.zip file.txt

注意

  • -P は履歴に残るため非推奨
  • zip暗号は強固ではない(高度セキュリティ用途には不向き)

6.5 分割圧縮(大容量ファイル用)

大容量を分割する場合:

zip -r -s 100m split.zip folder/

100MB単位で分割されます。

注意点

  • 解凍時はすべての分割ファイルが必要
  • 途中欠損すると復元不可

6.6 圧縮前後の容量比較

圧縮前:

du -sh folder/

圧縮後:

ls -lh archive.tar.gz

圧縮率が低い場合の原因:

  • 画像・動画など既に圧縮済み
  • 暗号化データは圧縮率が低い

7. 圧縮時によくあるエラーと対処法

Ubuntuで圧縮・解凍を行う際、初心者が頻繁に遭遇するエラーがあります。
ここでは代表的なエラーと、その具体的な解決方法を解説します。

7.1 command not found エラー

例:

zip: command not found

原因

対象コマンドがインストールされていない。

解決方法

sudo apt update
sudo apt install zip unzip

tar系の場合:

sudo apt install xz-utils

7.2 Permission denied(権限エラー)

例:

tar: folder/file.txt: Cannot open: Permission denied

原因

ファイルまたはディレクトリへのアクセス権限不足。

解決方法

所有者確認:

ls -l

sudo使用:

sudo tar -czvf archive.tar.gz folder/

注意

むやみにsudoを多用するとセキュリティリスクになります。

7.3 No space left on device(容量不足)

例:

No space left on device

原因

ディスク容量不足。

確認方法

df -h

不要ファイル削除:

sudo apt clean

ログ確認:

du -sh *

7.4 解凍時の文字化け

zipファイルをWindowsから受け取った場合に発生することがあります。

原因

文字コードの違い(UTF-8とShift-JISなど)。

対処例

unzip -O cp932 sample.zip

※環境により異なる。

7.5 上書き事故

解凍時に既存ファイルが上書きされることがあります。

事前確認:

tar -tzvf archive.tar.gz

zipの場合:

unzip -l sample.zip

7.6 CPU負荷が高い

xz圧縮時にCPU使用率が高くなるのは正常です。

確認:

top

必要なら圧縮レベルを下げる、gzipを使用するなど調整します。

8. Ubuntu圧縮コマンドの使い分けまとめ(早見表)

ここまで解説した内容を、用途別に整理します。
「ubuntu 圧縮」で検索するユーザーが最短で結論に到達できるよう、実用ベースでまとめます。

8.1 用途別おすすめ形式

用途推奨形式理由
Windowsと共有zip互換性が高い
Linux内で標準利用tar.gzバランスが良い
容量最優先tar.xz高圧縮
バックアップ保存tar.gz / tar.xz安定性重視
一時的な転送tar.gz速度重視

8.2 圧縮形式の比較(速度と圧縮率)

形式圧縮率速度CPU負荷
zip普通速い低い
tar.gz普通速い低〜中
tar.bz2高い遅い
tar.xz非常に高い非常に遅い高い

※圧縮率や速度はデータ内容・環境により異なります。

8.3 最低限覚えるべきコマンド

zip圧縮

zip -r archive.zip folder/

tar.gz圧縮

tar -czvf archive.tar.gz folder/

tar.gz解凍

tar -xzvf archive.tar.gz

8.4 初心者が迷わない結論

  • 迷ったら tar.gz を使う
  • Windows共有なら zip
  • 容量を極限まで減らすなら tar.xz

まずは tar -czvftar -xzvf を覚えることが最優先です。

8.5 よくある選択ミス

  • tar単体で圧縮できると誤解する
  • xzを常に選び、処理が遅くなる
  • GUIとCLIの違いを理解していない
  • 圧縮前に容量確認をしない