我从无法更改目录的脚本中调用zip命令。我需要data/kit123/
从数据所在的目录中创建内容的zip文件,但我希望zip的内容仅是的内容kit123
,并具有相对于的路径kit123
。
这是目录结构
myworkingdir
data
kit123
kitpart1
file.xcf
anotherfile.xcf
kitpart2
...
kit124
...
我的脚本在myworkingdir中运行,无法更改目录。
如果我打电话
zip -r kit123.zip data/kit123
那么zip文件中的结构将是
data
kit123
kitpart1
file.xcf
anotherfile.xcf
kitpart2
但我希望它成为
kit123
kitpart1
file.xcf
anotherfile.xcf
kitpart2
我可以使用一个zip选项来完成此操作吗?它应该取决于我的工作目录似乎很奇怪
我知道不是-j。破坏了kit123中的结构
正如您在注释中指出的那样,您现在知道如何使用脚本更改目录,我将使用zip解释有关相对路径的情况。
它可能比较容易打开终端cd
到kit123
; 您必须将目标目录设置为工作目录-无法从主目录的底部运行该命令,否则它将拾取的所有路径。/home/$USER/..
如果使用该-j
选项,它将删除所有路径,因为没有不能真正等同于tar选项,--strip
通过它可以指定不同级别的路径删除。
因此,请CD到您的目标目录(kit123
),然后输入:
zip -r kit123.zip *
这将以递归方式(-r
)保留*
当前目录(kit123
)中的所有()文件和文件目录,并且由于相对路径(-p
)会自动保留,除非-j
存在此选项,否则目录结构将如您所愿。Kit123
以及kitpart1
带有自己文件的子文件夹()将出现:
kit123
kitpart1
file.xcf
anotherfile.xcf
kitpart2
您可以使用来检查zip文件的内容unzip -l zipfile.zip
。
有关适用于其他选项的详细信息zip
,请参阅man zip
和Ubuntu的手册页在线。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句