在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