フォルダ自体を含まずにフォルダコンテンツを圧縮する

フォルダ自体を含まずにフォルダコンテンツを圧縮する

次のディレクトリがあります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

たとえば、次のようになります-jzip -r -j zipped_dir.zip folder/*

「root_folder」は圧縮されません。

答え3

zip -r -D zipped.zip *

-Dzipにディレクトリを作成しないように指示します。

答え4

bash: /usr/bin/zip: Argument list too long何千ものファイルを圧縮すると、Romeo Ninovの回答を使用するとエラー()が発生する可能性があります。これを防ぐには、次のようにaの代わりに.aを使用します*

cd folder
zip -r ../zipped_folder.zip .

関連情報