c 创建一个新的归档文件
x 对归档文件解压
t 查看归档文件里的文件
v 显示执行过程
f 指定包名
z 使用gzip压缩归档文件 .tar.gz
j 使用bzip2压缩归档文件 .tar.gz2
J 使用xz压缩归档后的文件 .tar.xz
C 指定压缩位置
X 排除多个文件
h 打包软链接
.tar.gz zcf
[root@rstx-53 test]# tar zcf etc.tar.gz /etc
tar: Removing leading `/' from member names
[root@rstx-53 test]# ls
etc.tar.gz
[root@rstx-53 test]# tar tf etc.tar.gz
etc/named/
etc/named.rfc1912.zones
........
.tar.gz2
[root@rstx-53 test]# tar jcf etc.tar.gz2 /etc
[root@rstx-53 test]# du -sh *
17M etc.tar.gz
15M etc.tar.gz2
[root@rstx-53 test]# tar jxf etc.tar.gz2 #解压过程中会覆盖文件
[root@rstx-53 test]# du -sh etc
57M etc
.tar.xz
[root@rstx-53 test]# tar Jcf etc.tar.xz /etc
tar: Removing leading `/' from member names
[root@rstx-53 test]# ls
etc etc.tar.gz etc.tar.gz2 etc.tar.xz
[root@rstx-53 test]# du -sh *
17M etc.tar.gz
15M etc.tar.gz2
12M etc.tar.xz
[root@rstx-53 test]# tar Jxf etc.tar.xz
[root@rstx-53 test]# ls
etc etc.tar.gz etc.tar.gz2 etc.tar.xz
[root@rstx-53 test]# du -sh *
57M etc
17M etc.tar.gz
15M etc.tar.gz2
12M etc.tar.xz
[root@rstx-53 test]# du -sh etc
57M etc
tar xf 解压并覆盖
[root@rstx-53 test]# tar jxf etc.tar.gz2 #解压过程中会覆盖文件
[root@rstx-53 test]# du -sh etc
57M etc
tar -C 指定解压路径
[root@rstx-53 test]# tar xf etc.tar.gz -C ../
[root@rstx-53 test]# ll ../etc/
total 1384
drwxr-xr-x 3 root root 101 Feb 24 15:45 abrt
-rw-r--r-- 1 root root 16 Sep 22 15:03 adjtime
-rw-r--r-- 1 root root 1529 Apr 1 2020 aliases
-rw-r--r-- 1 root root 12288 Feb 24 15:47 aliases.db
find查找文件并打包
[root@rstx-53 test]# tar zcvf etc_2.tar.gz $(find /etc/ -size +5M)
tar: Removing leading `/' from member names
/etc/udev/hwdb.bin
/etc/ansible/roles/ca_ssl/files/cfssl-certinfo_linux-amd64
/etc/ansible/roles/ca_ssl/files/cfssl_linux-amd64
[root@rstx-53 test]# find /etc/ -size +5M |xargs tar zcvf etc_1.tar.gz
tar: Removing leading `/' from member names
/etc/udev/hwdb.bin
/etc/ansible/roles/ca_ssl/files/cfssl-certinfo_linux-amd64
/etc/ansible/roles/ca_ssl/files/cfssl_linux-amd64
tar --exclude 排除某个
单个文件或者目录排除
[root@rstx-53 test]# tar zcf test.tar.gz ./* --exclude=1
[root@rstx-53 test]# ls
1 2 3 test.tar.gz
[root@rstx-53 test]# tar tf test.tar.gz
./2/
./2/index.html
./3/
./3/index.html
[root@rstx-53 test]# tar tf test.tar.gz
./2/
./2/index.html
./3/
./3/index.html
多个文件排除
[root@rstx-53 test]# tar zcf test.tar.gz ./* --exclude=1 --exclude=2/*
[root@rstx-53 test]# tar tf test.tar.gz
./2/
./3/
./3/index.html
./test.tar.gz
用文件记录排除 X
[root@rstx-53 test]# tar zcfX test.tar.gz 1.txt ./*
[root@rstx-53 test]# tar tf test.tar.gz
./1/
./1/index.html