点石互动

导航

 

在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


posted on 2013-02-02 20:16  点石互动  阅读(1068)  评论(0编辑  收藏  举报