次のディレクトリがありますfolder
。
folder
-> root_folder
-> some files
このディレクトリをに圧縮したいと思いますzipped_dir
。以下を試しました。
zip -r zipped_dir.zip folder/*
ただし、これにより次のZIPが生成されます。
zipped_dir
-> folder
-> root_folder
-> some files
つまり、圧縮したいコンテンツを含むディレクトリが含まれます。何も移動せずにZIPからこの親ディレクトリを除外するにはどうすればよいですか?
IE 私は次の最終結果が欲しい。
zipped_dir
-> root_folder
-> some files
答え1
このコマンドを試してみてください(理解します)。
cd folder; zip -r ../zipped_dir.zip *
他の方法もあるかもしれませんが、私にとってこの方法は最も速くて簡単です:)
答え2
たとえば、次のようになります-j
。zip -r -j zipped_dir.zip folder/*
「root_folder」は圧縮されません。
答え3
zip -r -D zipped.zip *
-D
zipにディレクトリを作成しないように指示します。
答え4
bash: /usr/bin/zip: Argument list too long
何千ものファイルを圧縮すると、Romeo Ninovの回答を使用するとエラー()が発生する可能性があります。これを防ぐには、次のようにaの代わりに.
aを使用します*
。
cd folder
zip -r ../zipped_folder.zip .