[root@nfs01 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@nfs01 ~]# uname -r
2.6.32-696.el6.x86_64
[root@nfs01 ~]# uname -m
x86_64
参数: --exclude 打包时排除不需要处理的文件或目录 说明: tar -zcf a.tar.gz 打包的目录 --exclude=指定排除的文件所在的路径 1)打包的目录使用相对路径,排除的文件只能接相对路径 2)打包的目录使用绝对路径,排除的文件接相对路径或绝对路径 3)建议打包的目录和排除的文件使用的使用路径时,保持一致,都是用绝对路径,或都是用相对路径
[root@nfs01 doc]# pwd
/root/doc
[root@nfs01 doc]# tree
.
└── data
├── a.txt
├── doc
│ └── b.txt
└── scripts
└── c.txt
3 directories, 3 files
[root@nfs01 doc]# tar -zcf /tmp/a.tar.gz /root/doc/* --exclude=/root/doc/data/scripts/c.txt
tar: Removing leading `/' from member names
[root@nfs01 doc]# tar -tf /tmp/a.tar.gz | grep c.txt
[root@nfs01 doc]#
根据结果,可知已排除c.txt文件
[root@nfs01 doc]# tar -zcf /tmp/b.tar.gz /root/doc/* --exclude=data/scripts/c.txt
tar: Removing leading `/' from member names
[root@nfs01 doc]# tar -tf /tmp/b.tar.gz | grep c.txt
根据结果,可知已排除c.txt文件
[root@nfs01 doc]# tar -zcf /tmp/c.tar.gz /root/doc/* --exclude=c.txt
tar: Removing leading `/' from member names
[root@nfs01 doc]# tar -tf /tmp/c.tar.gz | grep c.txt
根据结果,可知已排除c.txt文件
[root@nfs01 doc]# tar -zcf /tmp/d.tar.gz ./* --exclude=/root/doc/data/scripts/c.txt
[root@nfs01 doc]# tar -tf /tmp/d.tar.gz | grep c.txt
./data/scripts/c.txt
发现结果中并未排除c.txt文件
[root@nfs01 doc]# tar -zcf /tmp/e.tar.gz ./* --exclude=c.txt
[root@nfs01 doc]# tar -tf /tmp/e.tar.gz | grep c.txt
根据结果,可知已排除c.txt文件
总结: tar -zcf a.tar.gz 打包的目录 --exclude=指定排除的文件所在的路径 1)打包的目录使用相对路径,排除的文件只能接相对路径 2)打包的目录使用绝对路径,排除的文件接相对路径或绝对路径 3)建议打包的目录和排除的文件使用的使用路径时,保持一致,都是用绝对路径,或都是用相对路径
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有