Unix :: コマンド / zip・unzip

コマンド説明
zip複数ファイルを1ファイルにまとめてZIP圧縮します。ZIP は Windowsで一般的に利用されている圧縮形式で、パスワードを設定することも可能です。なお、圧縮率はそれほど高くありません。
unzipzip 圧縮されたファイルを解凍します。



zip

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

% zip compress.zip file1 file2 file3


ディレクトリ配下のファイルすべてを圧縮する

% zip compress.zip -r /path/to/dir


上記の場合、/path/to/dir のツリー構造を保ったまま圧縮されるので、解凍後は、/path/to/dir をたどっていかないと目的のファイルにたどり着けません。
/path/to/dir のツリー構造が不要な場合は以下のように一旦対象ディレクトリ直下まで cd してから zip します。

% cd /path/to; zip compress.zip -r dir


パスワードを設定して圧縮する

% zip compress.zip -r dir -e
Enter password:
Verify password:


% zip -P your_password compress.zip -r dir


特定の拡張子を持つファイルのみ圧縮する

% zip compress.zip -r dir -i \*.txt


unzip

圧縮されているファイルとディレクトリの一覧を見る

% unzip -l archive.zip
Archive:  archive.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  06-12-15 19:44   archive/
        0  04-22-12 12:50   archive/dir/
      614  10-06-05 22:18   archive/dir/file.txt


圧縮されているもの全てを解凍する

% unzip archive.zip


指定したファイルのみ解凍する

% unzip archive.zip archive/dir/file.txt
Archive:  archive.zip
  inflating: archive/dir/file.txt


指定したディレクトリのみ解凍する

% unzip archive.zip archive/dir/*
Archive:  archive.zip
   creating: archive/dir/file.txt