tar命令的一些问题记录笔记

本文记录了在使用tar命令时遇到的两个常见问题及解决方案:一是关于成员名字的绝对路径问题,解决方法包括使用-C参数或在shell脚本中切换目录;二是tar命令报错“file changed as we read it”,可以通过添加特定参数来控制警告信息的输出。同时,文中还提及了tar命令的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

问题一:tar: Removing leading `/’ from member names

**

这是tar命令不建议使用绝对路径,用相对路径。
若一定要使用绝对路径的话加大写P参数。

之所以不建议绝对路径是因为还有一个问题,如果打包含有绝对路径,加压的时候回创建绝对路径里面的那些多层目录。例如:
我的打包命令是这样的,里面包含了绝对路径:

tar --warning=no-file-changed -czPf /mnt/oradata/datagroup/edudatalog/h5eduaction/history_file/h5eduaction_`date +%Y%m%d`.tar.gz /mnt/oradata/datagroup/edudatalog/h5eduaction/history_file/*

看看解压缩后的情况,可以看到创建了绝对路径的目录。
在这里插入图片描述
这个问题的解决办法是:
一、使用-C这个参数,临时切换目录去压缩文件,这样解压出来的就没有问题。
二、在shell脚本中,先切换到当前目录下,再去压缩。
··········································································
问题二、tar出现错误 file changed as we read it

这个属于warning的控制输出信息,经常接触Makefile的人可能会注意到warning级别和error级别的信息输出。
解决方法,在命令中加入下面这个参数:

--warning=no-file-changed
完整命令示例:tar --warning=no-file-changed -czPf XXX xxx

tar命令的一些用法:
1、压缩

打包:tar cvf FileName.tar DirName
解包:tar xvf FileName.tar
PS:这只是打包而已,并没有压缩,大小不会发生变化

gz格式的压缩
压缩:tar zcvf FileName.tar.gz file
解压:tar zxvf FileName.tar.gz
指定目录加-C,不指定则是在当前目录
例如解压到AA文件夹下:tar zxvf FileName.tar.gz -C AA/

bz2格式
压缩:tar jcvf FileName.tar.bz2 file
解压:tar jxvf FileName.tar.bz2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值