在Linux用tar归档压缩文件时忽略某些文件和目录

2016年11月8日

在Linux下,常用tar对文件或目录归档压缩,有时候需要忽略某些文件或目录,怎么做呢?

原来,tar命令有个长参数 --exclude 可以用来指定排除掉的文件目录。

[root@mos178 usr]# ls motix bin  bin.1153887679  bin.20080407zhy_something_wrong  cfg  cfg.1153887679  cfg.20070425.tar.gz  log  motix0405.tar.gz  run
[root@mos178 usr]# tar zcf motix.20130121a.tar.gz motix --exclude log --exclude "*.gz" [root@mos178 usr]# tar ztvf motix.20130121a.tar.gz  ...
[root@mos178 usr]# 

关键是要总结出要忽略文件的模式来。

[root@sunrise root]# tar zcf work181.20130121a.tar.gz work181 --exclude log --exclude "*20*" --exclude bin                 
[root@sunrise root]# 

与tar --exclude相关的参数说明如下:

       --exclude PATTERN
              exclude files based upon PATTERN

       -X, --exclude-from FILE
              exclude files listed in FILE

       --wildcards
              use wildcards with --exclude

       --wildcards-match-slash
              wildcards match slashes (/) with --exclude

       --no-anchored
              match any subsequenceof the name's components with --exclude

       --no-ignore-case
              use case-sensitive matching with --exclude

       --no-wildcards
              don’t use wildcards with --exclude

       --no-wildcards-match-slash
              wildcards do not match slashes (/) with --exclude


没有评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注