选项:
f:后面跟操作文件,最好放在最后面
c:创建一个新的打包文件
C :后面跟路径,解压到指定路径
z:使用gzip进行压缩,一般使用后缀(*.tar.gz)
j:使用bzip2进行压缩,一般使用后缀(*.tar.bz2)
x:对打包文件进行解压
t:查看打包文件内容,不解压
v:详细显示正在处理的信息,并打印到屏幕
p:保留文件的权限和属性,备份文件时较有用
P:保留文件的绝对路径;{比如在/root/t1/t2/目录下对t3打包,加上 -P选项打包,解压时则会是(root/t1/t2/t3)
--exclude=file:排除不需要打包的文件
常用组合:
pcvf:只打包不压缩
pzcvf:打包并采用gzip压缩
pjcvf:打包并采用bzip2压缩
tvjf:查看bzip2的压缩文件,不解压(*.tar.bz2)
tvzf:查看gzip的压缩文件,不解压(*.tar.gz)
1、创建实验文件

2、打包t3目录,但不包含t3目录的上级目录结构
只打包t3目录,不包含/root/t1/t2
tar -pcvf t3.tar.gz -C /root/t1/t2/ t3
显然我们打包完t3,打包文件是存在了当前路径下
3、打包文件,并存放在到指定的路径下
将t3目录打包到 /tpm/ 路径下
tar -pcvf /tmp/t3.tar.gz -C /root/t1/t2/ t3
4、排除不需要打包的文件
[root@zy ~]# tree /root/t1/
/root/t1/
└── t2
├── t3
│ └── file.txt
└── test.txt
目录结构:/root/t1/t2/t3/ 将t2目录打包,并存放在/tmp下,但是排除掉t2目录下的t3
f 选项放在最后面
例如:
tar -pvzcf
tar -tvf
tar -pvjcf
报错
tar: Removing leading `/' from member names
tar默认为相对路径,使用绝对路径的话就会报这个错,可以使用 -P 参数(注意大写)解决这个问题