我正在尝试创建一个zip文件,并希望保留大部分目录结构,但不保留命令行定义的rootdir.我正在使用的命令是:
zip -r out.zip /foo/bar/
Run Code Online (Sandbox Code Playgroud)
我希望它通过bar递归并添加具有保留目录结构的所有文件(它确实如此).但是我不希望'foo'成为创建的zip文件中的顶级目录.我希望bar成为顶级目录.
有什么简单的方法可以解决这个问题吗?我意识到我可以在压缩之前更改目录以避免问题,但我正在寻找一个不需要这个的解决方案.
这应该这样做:
cd /foo/bar/
zip -r ../out.zip *
Run Code Online (Sandbox Code Playgroud)
档案将在 /foo/out.zip
我不相信zip有办法排除顶级目录.我认为你最好的选择是做一些事情:pushd/foo; zip -r out.zip ./bar; POPD;
但这正是你说你不想要的那种答案.