我想压缩一个子目录并将它发送到别处,我遇到的问题是当我使用zip命令时,它还包含了我不想要的所有不需要的目录层。Unix压缩子目录不包括父目录
例如
zip -r /new.zip /Unwanted1/Unwanted2/wanted1/wanted2/file.txt
###unzipped produces the following
/Unwanted1/Unwanted2/wanted1/wanted2/file.txt
###I want
/wanted1/wanted2/file.txt
更新:我想压缩的目录有很多嵌套的目录,因此-r。此外,处理绝对路径将会很好,旧的解决方案用于关于这个地方的CD,但我不太喜欢它。也许这是最好的(唯一的)方式。
'-r'表示递归。如果你真的需要使用它,那么你应该阅读压缩选项的排除。如果你只想压缩一个文件,可以cd到合适的父目录(根据你的例子)./Unwanted1/Unwanted2然后'zip new.zip wanted/file.txt'。也就是说,我不认为有一个zip选项意味着'放弃输入文件名中的前n层子目录信息'。祝你好运。 – shellter
你已经编辑过你的例子,这会改变游戏的数量。人们通常不需要这样的绝对路径。 'zip'内可能有更多的路径修剪/控制选项,但我对此表示怀疑。阅读手册页。或者切换到'tar'并阅读(同样长的)手册页。而且,如果您要添加单个文件,无论多深,您仍然不需要-r。 – IcarusNM