【zip】Linuxでファイルを圧縮するコマンド

Linuxのzipコマンドは、ファイルの圧縮を行うコマンドです。zipコマンドはコマンドの名前の通り、ファイルやディレクトリをZIP形式で圧縮します。

ここでは、Linuxのzipコマンドについて説明します。

zipコマンドの使い方

ファイルを圧縮する

ファイルを圧縮するときは以下のように入力します。

$ zip 圧縮後のファイル名 ファイル名

たとえば、hogeというファイルをhoge.zipという名前で圧縮する場合は以下のように入力します。

$ zip hoge.zip hoge

これでhoge.zipという圧縮ファイルが作成されます。単一のファイルだけでなく、ディレクトリを圧縮することも可能です。

複数ファイルを圧縮する

ファイルやディレクトリは複数指定でき、ひとつのZIPファイルが作成されます。

$ zip -r hoge.zip file1 file2

上の例では「 file1」と「file2」がhoge.zipにまとめて圧縮されます。

パスワード付きで圧縮する

「-P」オプションの後にパスワードを付ければ、パスワード付きの圧縮ファイルを作成できます。

$ zip -P password hoge.zip file

作成されたZIPファイルを解凍するときは、入力したパスワードが必要になります。

また、「-P」オプションの場合、シェルの履歴に入力したパスワードが残ってしまうので、注意が必要です。もし履歴を残したくない場合は、対話式でパスワードの入力を行う「-e」オプションを使うといいでしょう。

$ zip -e hoge.zip file
Enter password:
Verify password:
adding: file (deflated 99%)

「-e」オプションの場合、圧縮ファイルのパスワードと確認パスワードの2回入力が求められます。

一部のファイルを除いて圧縮する

ワイルドカードの「*」を使えば、カレントディレクトリのすべてのファイルを圧縮できます。さらに「-x」オプションの後にファイルを指定すれば、それらのファイルを圧縮しないようにできます。

$ zip hoge.zip * -x *.o

この場合、 sample1.o, sample2.o のような「.o」拡張子がついたものすべて除外することができます。