linux
アーカイブ名(生成されるzipファイル名)が先である。
何度調べても忘れるので自分用メモ
ポイント:
- オプション -r: ディレクトりを再帰的にたどってファイルをアーカイブに追加 (だいたいそうするのでいつもつけることにしている)
- オプション -j: ディレクトリ構造を平坦化、つまりファイルだけを拾って アーカイブ直下に追加(≒ディレクトリをアーカイブ内に作らない)
例えば
$ tree dir dir ├── a └── bなるディレクトリがあったとして
$ zip -r hoge.zip hoge adding: dir/a (stored 0%) adding: dir/b (stored 0%)のようにアーカイブ内ディレクトリができるが、
$ zip -jr hoge.zip hoge/* adding: a (stored 0%) adding: b (stored 0%)とするとアーカイブ内ディレクトリをつくらずファイルのみのzipをつくれる。
また
$ zip -r hoge.zip hoge/* adding: dir/a (stored 0%) adding: dir/b (stored 0%)でもよさそうな雰囲気もあるが、これは最初のものと同様にアーカイブ内ディレクトリを 作ってしまう。 これはzipがカレントディレクトリからの相対パスを参照するためである。
どうしてもこのやり方でやりたければ
$ cd dir $ zip -r ../hoge.zip ./* adding: a (stored 0%) adding: b (stored 0%)のようにする。