linuxでファイルやディレクトリを圧縮するにはzipコマンドを使用する。コマンド構文は以下のとおり。オプションの「r」はディレクトリ配下を再帰的に圧縮するので、付けることが多い。
zip -r {zipファイル名} {圧縮したいファイル・ディレクトリ}
以下、実行例。
homeディレクトリに以下のファイルがあった場合~/sample/a.txt
~/sample/b.txt
~/sample/subdir <-- 空ディレクトリ
homeディレクトリで実行
$ zip -r sample_arc sample
adding: sample/ (stored 0%)
adding: sample/b.txt (stored 81%)
adding: sample/a.txt (stored 81%)
adding: sample/subdir/ (stored 0%)
この場合、sample_arc.zipというファイルが作成される。拡張子はzipとなる。 ちなみに「zip -r sample_arc.zip sample」のように拡張子を付けて実行した場合、sample_arc.zip.zipとはならず、sample_arc.zipで作成される。
個別に下記のようにファイルを指定することも可能。この場合、ディレクトリ構造毎圧縮される。
$ zip -r sample_arc sample/a.txt sample/b.txt
$ zip -r sample_arc sample/*.txt
zipファイルを解凍するにはunzipコマンドを使用する。オプションは特に不要。
unzip {zipファイル名}
以下、実行例。
sample_arc.zipを解凍$ unzip sample_arc.zip
creating: sample/
inflating: sample/b.txt
inflating: sample/a.txt
creating: sample/subdir/
qオプションを付けると何も表示されない
$ unzip -q sample_arc.zip
lオプションを付けると解凍せずファイルの中身を参照できる
$ unzip -l sample_arc.zip
Archive: sample_arc.zip
Length Date Time Name
-------- ----------- ----- ----
0 02-27-2021 17:22 sample/
24 02-27-2021 17:20 sample/b.txt
24 02-27-2021 17:20 sample/a.txt
0 02-27-2021 16:42 sample/subdir/
-------- -------
48 4 files