200年に1回くらい遭遇するLinux OSでzipの展開。
unzipはわかるし、-h
すればまぁ分かるけど一応メモ。
アーカイブ内のファイル一覧
tar
だとtar tf <filename>
に相当するやつ。
zipinfo
を単体実行すればOK
$ zipinfo <zip-file>
実行例
[zaki@registry tmp]$ zipinfo awscliv2.zip | wc -l 5507 [zaki@registry tmp]$ zipinfo awscliv2.zip | head Archive: awscliv2.zip Zip file size: 33084282 bytes, number of entries: 5504 drwxr-xr-x 2.0 unx 0 b- stor 20-Jun-16 22:58 aws/ drwxr-xr-x 2.0 unx 0 b- stor 20-Jun-16 22:58 aws/dist/ -rw-r--r-- 2.0 unx 1465 b- defN 20-Jun-16 22:50 aws/README.md -rwxr-xr-x 2.0 unx 4047 b- defN 20-Jun-16 22:50 aws/install -rw-r--r-- 2.0 unx 68271 b- defN 20-Jun-16 22:50 aws/THIRD_PARTY_LICENSES drwxr-xr-x 2.0 unx 0 b- stor 20-Jun-16 22:58 aws/dist/_struct/ drwxr-xr-x 2.0 unx 0 b- stor 20-Jun-16 22:58 aws/dist/awscli/ drwxr-xr-x 2.0 unx 0 b- stor 20-Jun-16 22:58 aws/dist/botocore/
展開時にファイル一覧を出力しない
tar
だとv
を付けないやつ。
-q
を付与すればOK
$ unzip -q <zip-file>
個人的にはいつもtar tf
してディレクトリができるか否かを確認してtar xf
するのでv
は付けないんだよね。
指定ディレクトリに展開
tar
だとtar xf <filename> -C <dirname>
みたいなやつ。
-d
を付与すればOK
$ unzip <zip-file> -d <dirname>
(おまけ)zip圧縮
指定ディレクトリ以下を圧縮したい場合
$ zip gitlab-compose.zip gitlab-compose/ -r
-r
を忘れるとディレクトリだけをzipしてしまうので注意。
というかtar
使おう。