概述
1、查找/var目录下所有.log后缀的文件
[root@CentOS-01 20220730 11:01 ~]# find /var -name "*.log" -type f
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
/var/log/anaconda/ifcfg.log
/var/log/anaconda/ks-script-IA1Ytv.log
/var/log/anaconda/ks-script-tCHWYK.log
/var/log/anaconda/journal.log
/var/log/boot.log
/var/log/vmware-vmsvc.log
/var/log/yum.log
/var/log/vmware-network.3.log
/var/log/vmware-network.2.log
/var/log/vmware-network.1.log
/var/log/vmware-network.log
2、使用管道和xargs参数过滤器将find查找出来的文件一次性打包压缩
[root@CentOS-01 20220730 11:02 ~]# find /var -name "*.log" -type f | xargs tar -zcf var-log-01.tar.gz
tar: 从成员名中删除开头的“/”
[root@CentOS-01 20220730 11:09 ~]# ll
总用量 244
-rw-------. 1 root root 1304 7月 29 20:22 anaconda-ks.cfg
-rw-r--r-- 1 root root 242610 7月 30 11:09 var-log-01.tar.gz
注意此处不能exec将find命令的结果交给tar来打包执行,当文件不止一个时,因为结果一个个传递打包,到最后打包压缩的只有最后一个find出来的文件!如下:可看到两条命令打包出来的文件大小差别非常大,就是因为exec传递执行tar命令最后只打包压缩了一个文件,其他都被最后一个覆盖了。
[root@CentOS-01 20220730 11:09 ~]# find /var -name "*.log" -exec tar -zcf test.tar.gz {} ;
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
[root@CentOS-01 20220730 11:19 ~]# ll -h
总用量 248K
-rw-------. 1 root root 1.3K 7月 29 20:22 anaconda-ks.cfg
-rw-r--r-- 1 root root 391 7月 30 11:19 test.tar.gz
-rw-r--r-- 1 root root 237K 7月 30 11:09 var-log-01.tar.gz
4、或者采用反引号``来将find命令提前执行完成后用tar进行打包压缩,这是一个更简易的方法
[root@CentOS-01 20220730 11:19 ~]# tar -zcf var-log-02.tar.gz `find /var -name "*.log" -type f`
tar: 从成员名中删除开头的“/”
[root@CentOS-01 20220730 11:24 ~]# ll -h
总用量 488K
-rw-------. 1 root root 1.3K 7月 29 20:22 anaconda-ks.cfg
-rw-r--r-- 1 root root 391 7月 30 11:19 test.tar.gz
-rw-r--r-- 1 root root 237K 7月 30 11:09 var-log-01.tar.gz
-rw-r--r-- 1 root root 237K 7月 30 11:24 var-log-02.tar.gz
反引号``还真的是个好东西哈。
最后
以上就是动听狗为你收集整理的用反引号将find查找出来的文件一次性用tar打包压缩的全部内容,希望文章能够帮你解决用反引号将find查找出来的文件一次性用tar打包压缩所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复