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