压缩文件夹的内容而不包括文件夹本身

压缩文件夹的内容而不包括文件夹本身

我有一个名为的目录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 .

相关内容