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

**

问题一: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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章