linux tar 过滤部分文件,tar如何过滤不需要的文件

玩蛇网推荐图文教程:python 列表

本文是关于tar如何过滤不需要的文件的方法介绍,并举例说明了操作的流程。遇到需要将当前数据库文件下下的datapump导出的文件过滤掉,要不然然会产生很大的tar文件以及耗用网络传输时间。

其实tar命令为我们提供了过滤功能,只不过由于过滤功能通常使用的比较少,所以很多人不知道。

iplaypy.com本文描述了tar命令下如何过滤不需要的文件或文件夹。

演示环境:#当前的tree 目录下存在BBB,CCC以及BNR子目录,现在需要将gz的dump文件过滤掉,也就是不参与打包

[oracle@linux1 ~]$ tree AAA

AAA

|-- BBB

|  `-- SYTST_temp.dbf

|-- BNR

|  |-- dump

|  |  |-- emp.dmp.gz

|  |  |-- tb.dmp.gz

|  |  `-- xx.dmp.gz

|  `-- full

|-- CCC

|  `-- tempSYTST.dbf

|-- SYTST.sh

`-- initSYTST.ora

5 directories, 7 files

演示如何进行过滤:方法一,下面通过exclude参数进行过滤,使用通配符

[oracle@linux1 ~]$ tar -czvf A1.tar.gz --exclude '*.gz' ./AAA

./AAA/

./AAA/CCC/

./AAA/CCC/tempSYTST.dbf

./AAA/BBB/

./AAA/BBB/SYTST_temp.dbf

./AAA/SYTST.sh

./AAA/initSYTST.ora

./AAA/BNR/

./AAA/BNR/full/

./AAA/BNR/dump/

#查看包中的内容,没有任何gz文件

[oracle@linux1 ~]$ tar -tvf A1.tar.gz

drwxr-xr-x oracle/oinstall  0 2013-12-13 14:10:43 ./AAA/

drwxr-xr-x oracle/oinstall  0 2013-12-13 14:12:18 ./AAA/CCC/

-rwxr-xr-x oracle/oinstall 209723392 2013-12-13 14:12:19 ./AAA/CCC/tempSYTST.dbf

drwxr-xr-x oracle/oinstall        0 2013-12-13 14:11:56 ./AAA/BBB/

-rwxr-xr-x oracle/oinstall 104865792 2013-12-13 14:11:56 ./AAA/BBB/SYTST_temp.dbf

-rwxr-xr-x oracle/oinstall      1281 2013-12-13 14:10:43 ./AAA/SYTST.sh

-rwxr-xr-x oracle/oinstall      2949 2013-12-13 14:10:31 ./AAA/initSYTST.ora

drwxr-xr-x oracle/oinstall        0 2013-12-13 14:11:12 ./AAA/BNR/

drwxr-xr-x oracle/oinstall        0 2013-12-13 14:11:12 ./AAA/BNR/full/

drwxr-xr-x oracle/oinstall        0 2013-12-13 14:11:04 ./AAA/BNR/dump/

#方法二,下面通过使用多个exclude参数进行过滤

[oracle@linux1 ~]$ tar -czvf A2.tar.gz --exclude='tempSYTST.dbf' --exclude=SYTST_temp.dbf ./AAA

./AAA/

./AAA/CCC/

./AAA/BBB/

./AAA/SYTST.sh

./AAA/initSYTST.ora

./AAA/BNR/

./AAA/BNR/full/

./AAA/BNR/dump/

./AAA/BNR/dump/xx.dmp.gz

./AAA/BNR/dump/tb.dmp.gz

./AAA/BNR/dump/emp.dmp.gz

tar如何过滤不需要的文件方法三,借助于exclude参数,直接将需要过滤得文件添加到文件,然后再从文件读取

[oracle@linux1 ~]$ echo "*.dbf" >>exclude.txt

[oracle@linux1 ~]$ echo "*.gz" >>exclude.txt

[oracle@linux1 ~]$ more exclude.txt

*.dbf

*.gz

[oracle@linux1 ~]$ tar -czvf A3.tar.gz --exclude-from=exclude.txt ./AAA

./AAA/

./AAA/CCC/

./AAA/BBB/

./AAA/SYTST.sh

./AAA/initSYTST.ora

./AAA/BNR/

./AAA/BNR/full/

./AAA/BNR/dump/

tar如何过滤不需要的文件方法四,借助于exclude参数,可以直接使用目录加通配符的方式来过滤指定文件夹下的所有文件

[oracle@linux1 ~]$ tar -czvf A4.tar.gz --exclude=./AAA/BNR/dump/* ./AAA

./AAA/

./AAA/CCC/

./AAA/CCC/tempSYTST.dbf

./AAA/BBB/

./AAA/BBB/SYTST_temp.dbf

./AAA/SYTST.sh

./AAA/initSYTST.ora

./AAA/BNR/

./AAA/BNR/full/

./AAA/BNR/dump/

#方法五,借助于exclude参数,直接使用目录方式来过滤

[oracle@linux1 ~]$ tar -czvf A4.tar.gz --exclude=./AAA/BNR ./AAA

./AAA/

./AAA/CCC/

./AAA/CCC/tempSYTST.dbf

./AAA/BBB/

./AAA/BBB/SYTST_temp.dbf

./AAA/SYTST.sh

./AAA/initSYTST.ora

tar如何过滤不需要的文件.获取帮助信息:#使用help获取帮助信息

[oracle@linux1 ~]$ tar --help

Usage: tar [OPTION...] [FILE]...

GNU `tar' saves many files together into a single tape or disk archive, and can

restore individual files from the archive.

Examples:

tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.

tar -tvf archive.tar        # List all files in archive.tar verbosely.

tar -xf archive.tar          # Extract all files from archive.tar.

#使用man或者info获取帮助信息

[oracle@linux1 ~]$ man tar

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/linux/l6948.html

相关文章 Recommend

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值