正在加载中...

关闭
请选择需要拨打的号码
关闭
请根据问题类型选择QQ咨询

[已解决]在服务器上打tar.gz压缩包怎么去掉系统路径(嵌套文件夹)

[已解决]在服务器上打tar.gz压缩包怎么去掉系统路径(嵌套文件夹)


首先应该明确:Linux/Unix系统中,使用tar对文件打包时,一般不建议使用绝对路径。

通常是在两台环境相似的机器上进行同步复制的时候,才有需要使用绝对路径进行打包。使用绝对路径打包时如果不指定相应的参数,tar会产生一句警告信息:”tar: Removing leading `/’ from member names”,并且实际产生的压缩包会将绝对路径转化为相对路径。

很多客户在打压缩包时,没有注意压缩路径(文件夹、目录)的问题,结果在服务器解压缩后,发现文件夹嵌套很多层,还要重新移动文件,调整路径,很麻烦。

其实只要在打压缩包的时候,直接进入要打包的文件所在的目录,然后全选(windows)或使用通配符*(linux),再进行打包,打包的文件缩放的目的路径进行自定义,即可解决问题。



绝对路径(附带系统路径,从根目录开始):

tar -czvf backup.tar.gz /home/var/wwwroot/htdocs

这样打包下来,压缩包解压缩后,文件夹嵌套有很多层,解压缩后会是/home/var/wwwroot/htdocs/*的结果。



相对路径:

先进入要打包的目录 cd /home/var/wwwroot

然后 tar -czvf /backup/backup.tar.gz htdocs

这样打包出来,压缩包里面只有htdocs一级目录。


如果cd /home/var/wwwroot/htdocs

那么压缩时就要用通配符:tar -czvf /backup/backup.tar.gz *



返回上一页