linux中的tar命令注意事项

在使用tar命令的时候,使用的是绝对路径,但是总是有个提示,提示如下:

tar:Rmoving leading '/' from the member names

使用tar文件备份打包命令时,一般不建议使用绝对路径,而最好使用相对路径,如果使用的是绝对路径,默认的情况下野会将绝对路径转化为相对路径,如果必须使用绝对路径,使用-P参数

原因解释:

tar在备份打包时,默认为相对路径;而排除匹配式默认也是全路径匹配的所以,在打包时,会提示:“tar: Removing leading `/’ from member names”除非你使用-P参数或特定的参数指定。 
它是tar命令为了避免不必要的错误而做的限制。如果用户在压缩文件时使用了绝对路径,那么tar会自动的剥离掉第一个‘/’。 

风险:可能会覆盖此目录下的所有内容,如果是绝对路径务必小心

例如,你想备份/etc的内容: 
$tar -zcf etc.tar.gz  /etc 
生成了一个压缩包,那么在解压这个压缩包的时候,内容会被写入到/etc这个目录,可能潜在的造成风险。 
经过tar剥离第一个’/’后,解压时压缩包的内容会被释放到当前目录,即:./etc。 
-P参数:extract to directory DIR 
-C参数:change to directory DIR

解决方法:使用相对路径,在bash中,使用cd进入路径,然后执行tar命令

备份不同的路径的时候使用命令 cd /home/log && tar -zcf  bak.tar.gz  log1  log2

tar命令解压报错:

gzip: stdin: decompression OK, trailing garbage ignored
tar: Child returned status 2
tar: 由于前面延迟的错误而退出


解释:

报这样的错通常是因为tar.gz文件的尾部有一串0x00或者0xff,这是由于很多场合下压缩算法都会在压缩完成后补充一些字节以对齐数据块.gzip在正确解压完tar.gz的内容后开始解压这样的全零填充字节就会报这样的错.并不会影响使用.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值