web-dev-qa-db-ja.com

親ディレクトリなしでディレクトリ内のすべてのファイルとサブフォルダを圧縮します

次のフォルダ構造があります

folder
|
|--foo.txt
|
|--sub_folder
   |
   |--bar.txt

ルートフォルダーをZipに含めずに、フォルダーのコンテンツ(ファイルとサブフォルダー)をZipで圧縮します。

コマンドを試しました

Zip -r package.Zip folder

ただし、これにはルートフォルダが含まれます。次のフォームも試しました

Zip -j -r package.Zip folder

ただし、これにより、すべてのディレクトリ構造がフラット化され、ファイルのみが含まれます。内部ディレクトリ構造を保持しながら、親フォルダを無視するにはどうすればよいですか?

11
Tuomas Toivonen

Zipは、現在のディレクトリ(呼び出されたとき)からの相対パスを格納するため、次のように変更する必要があります。

(cd folder; Zip -r ../package.Zip .)
15
Stephen Kitt