tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件

错误提示:从成员名中删除开头的"/"

虽然报错 但是还是成功打包了

1
2
3
[root@k8s-77-162 ~]#  tar -zcvf test.tar.gz   /var/log/messages
tar: 从成员名中删除开头的“/”
/var/log/messages

错误原因:造成该问题的原因是因为使用相对路径和绝对路径引起的

解决办法: 使用-P参数或使用相对路径

1
2
[root@k8s-77-162 ~]#  tar -zcvPf test.tar.gz   /var/log/messages
/var/log/messages

错误提示:tar (child): 无法连接至 xxx: 解析失败

1
2
3
4
5
6
[root@k8s-77-162 06]# tar zxvf 2019-06-10_17\:01\:57.tar.gz
tar (child): 无法连接至 2019-06-10_17: 解析失败

gzip: stdin: unexpected end of file
tar: Child returned status 128
tar: Error is not recoverable: exiting now

错误原因:由于压缩文件中含有冒号导致

解决办法: 使用tar命令的–force-local选项

1
2
[root@k8s-77-162 06]# tar --force-local -zxvf 2019-06-10_17\:01\:57.tar.gz
var/log/messages

错误描述:解压缩后权限改变

有些压缩文件解压后所有者、所属组不是你当前操作的用户 ,而是原来文件的所有者

解决办法 : 使用tar命令的–no-same-owner 选项 作用是不使用备份文件中的所有者信息,而以您自己的身份解析文件

1
2
[root@k8s-77-162 ~]# tar --no-same-owner  -zxvPf test.tar.gz
/var/log/messages