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使おう。