ファイルの圧縮、解凍、アーカイブを行うコマンドです。
複数のファイルを1つのアーカイブファイルにまとめたり、展開したりします。
| オプション | 説明 |
|---|---|
| -c | 新しいアーカイブを作成 |
| -x | アーカイブからファイルを展開 |
| -t | アーカイブの内容を一覧表示 |
| -f [file] | アーカイブファイル名を指定 |
| -v | 詳細な情報を表示(処理されるファイルを表示) |
| -z | gzipで圧縮/解凍(.tar.gz, .tgz) |
| -j | bzip2で圧縮/解凍(.tar.bz2) |
| -J | xzで圧縮/解凍(.tar.xz) |
| -C [dir] | 指定したディレクトリに展開 |
| --exclude=[pattern] | 指定したパターンに一致するファイルを除外 |
例:
tar -cvf archive.tar file1 file2 dir1 - ファイルとディレクトリをアーカイブ化tar -xvf archive.tar - アーカイブを展開tar -tvf archive.tar - アーカイブの内容を一覧表示tar -czvf archive.tar.gz directory/ - ディレクトリをgzipで圧縮してアーカイブ化tar -xzvf archive.tar.gz - gzip圧縮されたアーカイブを展開tar -xzvf archive.tar.gz -C /path/to/extract - 指定したディレクトリに展開tar -czvf backup-$(date +%Y%m%d).tar.gz /home/user/data - 日付を含むバックアップファイルを作成tar --exclude='*.log' --exclude='tmp/' -czvf archive.tar.gz directory/ - 特定のファイルやディレクトリを除外してアーカイブ化tar -czvf - directory/ | ssh user@remote "cat > archive.tar.gz" - アーカイブをリモートサーバーに直接転送tar -xvf archive.tar --wildcards '*.txt' - アーカイブから特定のパターンに一致するファイルのみを展開
ファイルをgzip形式で圧縮したり、解凍したりします。
| コマンド/オプション | 説明 |
|---|---|
| gzip [file] | ファイルを圧縮(元のファイルは削除され、.gzファイルが作成される) |
| gzip -k [file] | 元のファイルを保持したまま圧縮 |
| gzip -d [file.gz] | ファイルを解凍(gunzipと同等) |
| gzip -l [file.gz] | 圧縮ファイルの情報を表示 |
| gzip -[1-9] | 圧縮レベルを指定(1が最速で圧縮率低、9が最遅で圧縮率高) |
| gunzip [file.gz] | gzipファイルを解凍 |
例:
gzip file.txt - ファイルを圧縮(file.txt.gzが作成され、元のファイルは削除される)gzip -k file.txt - 元のファイルを保持したまま圧縮gzip -9 file.txt - 最高圧縮率でファイルを圧縮gunzip file.txt.gz - 圧縮ファイルを解凍gzip -d file.txt.gz - 圧縮ファイルを解凍(gunzipと同等)find . -type f -name "*.log" -exec gzip {} \; - すべてのログファイルを圧縮gzip -c file.txt > file.txt.gz - 標準出力に圧縮結果を出力し、リダイレクトで保存(元ファイルを保持)gzip -r directory/ - ディレクトリ内のすべてのファイルを再帰的に圧縮gzip -tv file.txt.gz - 圧縮ファイルの整合性をテスト
ファイルをbzip2形式で圧縮したり、解凍したりします。gzipより圧縮率が高いが処理時間も長い。
| コマンド/オプション | 説明 |
|---|---|
| bzip2 [file] | ファイルを圧縮(元のファイルは削除され、.bz2ファイルが作成される) |
| bzip2 -k [file] | 元のファイルを保持したまま圧縮 |
| bzip2 -d [file.bz2] | ファイルを解凍(bunzip2と同等) |
| bzip2 -[1-9] | 圧縮レベルを指定(1が最速で圧縮率低、9が最遅で圧縮率高) |
| bunzip2 [file.bz2] | bzip2ファイルを解凍 |
例:
bzip2 file.txt - ファイルを圧縮(file.txt.bz2が作成され、元のファイルは削除される)bzip2 -k file.txt - 元のファイルを保持したまま圧縮bunzip2 file.txt.bz2 - 圧縮ファイルを解凍bzip2 -d file.txt.bz2 - 圧縮ファイルを解凍(bunzip2と同等)bzip2 -v file.txt - 圧縮の詳細情報を表示bzip2 -c file.txt > file.txt.bz2 - 標準出力に圧縮結果を出力し、リダイレクトで保存(元ファイルを保持)find . -name "*.dat" -exec bzip2 -9 {} \; - すべての.datファイルを最高圧縮率で圧縮tar -cf - directory/ | bzip2 > directory.tar.bz2 - tarとbzip2を組み合わせてディレクトリをアーカイブ化
ファイルをxz形式で圧縮したり、解凍したりします。bzip2よりさらに圧縮率が高いが処理時間も長い。
| オプション | 説明 |
|---|---|
| -z | 圧縮(デフォルト) |
| -d | 解凍 |
| -k | 元のファイルを保持 |
| -l | 圧縮ファイルの情報を表示 |
| -[0-9] | 圧縮レベルを指定(0が最速で圧縮なし、9が最遅で圧縮率高) |
例:
xz file.txt - ファイルを圧縮(file.txt.xzが作成され、元のファイルは削除される)xz -k file.txt - 元のファイルを保持したまま圧縮xz -d file.txt.xz - 圧縮ファイルを解凍xz -l file.txt.xz - 圧縮ファイルの情報を表示xz -9 -e file.txt - 最高圧縮率と追加の圧縮フラグを使用して圧縮xz -T0 large_file.dat - すべての利用可能なCPUスレッドを使用して圧縮(並列処理)find . -name "*.log" -size +10M -exec xz {} \; - 10MB以上のすべてのログファイルを圧縮tar -cf - directory/ | xz -9 > directory.tar.xz - tarとxzを組み合わせて高圧縮率でディレクトリをアーカイブ化
ファイルをZIP形式で圧縮したり、解凍したりします。Windows/macOSとの互換性が高い。
| コマンド/オプション | 説明 |
|---|---|
| zip [archive.zip] [files] | ファイルをZIP形式で圧縮 |
| zip -r [archive.zip] [directory] | ディレクトリを再帰的に圧縮 |
| zip -u [archive.zip] [files] | 既存のZIPアーカイブを更新 |
| zip -e [archive.zip] [files] | パスワード保護付きで圧縮 |
| unzip [archive.zip] | ZIPアーカイブを解凍 |
| unzip -l [archive.zip] | ZIPアーカイブの内容を一覧表示 |
| unzip -d [directory] [archive.zip] | 指定したディレクトリにZIPアーカイブを解凍 |
例:
zip archive.zip file1.txt file2.txt - 複数のファイルを圧縮zip -r archive.zip directory/ - ディレクトリを再帰的に圧縮unzip archive.zip - ZIPアーカイブを解凍unzip -l archive.zip - ZIPアーカイブの内容を一覧表示unzip archive.zip -d /path/to/extract - 指定したディレクトリに解凍zip -e secure.zip confidential.txt - パスワード保護付きでファイルを圧縮zip -9 -r backup.zip documents/ -x "*.tmp" "*/temp/*" - 最高圧縮率で特定のファイルを除外して圧縮find . -name "*.jpg" -mtime -7 | zip -@ recent_photos.zip - 過去7日以内に変更された画像ファイルを圧縮unzip -j archive.zip "*.txt" -d /path/to/extract - パスを無視してテキストファイルのみを特定のディレクトリに解凍
7-Zipは高圧縮率のアーカイブ形式で、様々な形式のアーカイブを扱えます。
| コマンド/オプション | 説明 |
|---|---|
| 7z a [archive.7z] [files] | ファイルをアーカイブに追加(圧縮) |
| 7z x [archive.7z] | アーカイブを展開(パスを保持) |
| 7z e [archive.7z] | アーカイブを展開(パスを無視) |
| 7z l [archive.7z] | アーカイブの内容を一覧表示 |
| 7z t [archive.7z] | アーカイブの整合性をテスト |
| 7z u [archive.7z] [files] | アーカイブを更新 |
例:
7z a archive.7z file1.txt file2.txt - ファイルを7z形式で圧縮7z a -r archive.7z directory/ - ディレクトリを再帰的に圧縮7z x archive.7z - 7zアーカイブを展開7z l archive.7z - 7zアーカイブの内容を一覧表示7z x archive.7z -o/path/to/extract - 指定したディレクトリに展開7z a -p archive.7z confidential_files/ - パスワード保護付きでアーカイブを作成7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on archive.7z directory/ - 高度な圧縮設定でアーカイブを作成7z x archive.7z -r "*.txt" -o/path/to/extract - テキストファイルのみを抽出find . -type f -size +10M | 7z a -si large_files.7z - 10MB以上のファイルを標準入力から圧縮
圧縮ファイルを解凍せずに内容を表示します。
| コマンド | 説明 |
|---|---|
| zcat [file.gz] | gzip圧縮ファイルの内容を表示 |
| bzcat [file.bz2] | bzip2圧縮ファイルの内容を表示 |
| xzcat [file.xz] | xz圧縮ファイルの内容を表示 |
| zless [file.gz] | gzip圧縮ファイルの内容をページャーで表示 |
| bzless [file.bz2] | bzip2圧縮ファイルの内容をページャーで表示 |
| xzless [file.xz] | xz圧縮ファイルの内容をページャーで表示 |
例:
zcat file.txt.gz - gzip圧縮ファイルの内容を表示bzcat file.txt.bz2 - bzip2圧縮ファイルの内容を表示zcat file.txt.gz | grep "pattern" - 圧縮ファイル内のテキストを検索zless large_file.txt.gz - 大きな圧縮ファイルの内容をページャーで表示zcat file1.gz file2.gz > combined.txt - 複数の圧縮ファイルの内容を結合zcat log.gz | awk '/ERROR/ {print $0}' - 圧縮ログファイル内のエラーを抽出find . -name "*.log.gz" -exec zcat {} \; | grep "CRITICAL" - 複数の圧縮ログファイルから重要なメッセージを検索zcat -f file.txt file.txt.gz - 圧縮・非圧縮ファイルの両方を処理(-fオプション)