Linuxでファイルを圧縮するときのメモ。圧縮と解凍は色々なコマンドがあるが、個人的に tar か zip をよく使うのでこの2つのコマンドでの手順
圧縮
tar
tar 自体はアーカイブ(ファイルを一つにまとめる)するだけのコマンド。実際には tarコマンドに -z オプションを付けてgzip で圧縮をおこなう挙動となる。
tar -zcvf [作成ファイル名] [対象ファイル1] [対象ファイル2]
-c
: アーカイブを作成-z
: gzip
で圧縮-v
: 処理中のファイル名を表示(verboseモード)。-f
: 作成するファイルの名前を指定
作成ファイル名は .tar.gz という拡張子にする。
# tar -zcvf filename.tar.gz file1 file2 file3
file1
file2
file3
# ls
filename.tar.gz file1 file2 file3
コマンドを実行すると filename.tar.gz というファイルが作成される。アーカイブ対象とした元ファイルも削除されることはなく残る。
解凍せずに中身を確認する場合
圧縮されたファイルの中身を解凍せずに確認する場合は -tvf オプションを指定する。
# tar -tvf filename.tar.gz
-rw-r--r-- root/root 0 2024-12-20 11:48 file1
-rw-r--r-- root/root 0 2024-12-20 11:48 file2
-rw-r--r-- root/root 0 2024-12-20 11:48 file3
zip
zip はアーカイブと圧縮を同時に行う。zipはWindowsやMacでも使うためLinuxで圧縮したファイルをWindowsなどの異なるOSにファイルを送るときはzipを使う
zip -r [作成ファイル名] [対象ファイル1] [対象ファイル2]
作成ファイルは .zip という拡張子にする。
# zip -r filename.zip file1 file2 file3
adding: file1 (stored 90%)
adding: file2 (stored 86%)
adding: file3 (stored 58%)
# ls
file1 file2 file3 filename.zip
コマンドを実行すると filename.zip というファイルが作成される。tar と同じくアーカイブ対象とした元ファイルも削除されることはなく残る。
解凍せずに中身を確認する場合
圧縮されたファイルの中身を解凍せずに確認する場合はunzipコマンドに -l オプションを指定する。
# unzip -l filename.zip
Archive: filename.zip
Length Date Time Name
--------- ---------- ----- ----
0 12-20-2024 11:48 file1
0 12-20-2024 11:48 file2
0 12-20-2024 11:48 file3
--------- -------
0 3 files
解凍
tar
先ほどアーカイブ圧縮したファイルを解凍する。圧縮と同じく tar コマンドを使用し、-cオプションを-x (Extract)変えることで解凍、展開される。
# tar -zxvf filename.tar.gz
file1
file2
file3
zip
zipファイルの場合は unzip コマンドを使う
# unzip filename.zip
Archive: filename.zip
extracting: file1
extracting: file2
extracting: file3
コメント