在linux中可以用tar或者zip命令打包文件备份,不过有时候后我并不想所有的文件都打包,这时候就需要用到排除参数了。
用tar命令时需要排除jpg文件可以这么弄
[root@lee ~]# tar -cvf test.tgz test/ –exclude *.jpg
这样,就会把jpg后缀的文件都排除了,包括子目录!
如果是多个后缀类型需要被排除可以在后面添加,无限制
[root@lee ~]# tar -cvf test.tgz test/ –exclude *.txt –exclude *.jpg
以上是匹配排除某个文件类型后缀,也可以直接指定文件名
[root@lee ~]# tar -cvf test.tgz test/ –exclude a.txt
或者指定目录
[root@lee ~]# tar -cvf test.tgz test/ –exclude dir1
注意 –exclude后面的排除目录后不能带/ ,否则不起作用。
也可以排除目录与文件一起混合使用,如:
[root@lee ~]# tar -cvf test.tgz test/ –exclude dir1 –exclude a.log –exclude *.jpg
用zip命令时需要排除文件可以这么弄
zip -rx=test/cache/* test.zip /wwwroot/test
附:zip Linux上适用的参数:
-1 : 最快压缩,压缩率最差。
-9 : 最大压缩,压缩率最佳。
-b : 暂存文件的路径。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。
-c : 替新增或更新的文件增加一行注解。
-d : 从 zip 文件移出一个文件。
-D : 不要在 zip 文件中储存文件的目录信息。
-f : 以新文件取代现有文件。
-F : 修复已经损毁的压缩文件。
-g : 将文件压缩附加到 zip 文件中。
-h : 显示辅助说明。
-i : 指定要含入的某些特定文件。
-j : 只储存文件的名称,不含目录。
-k : 强迫使用 MSDOS 格式文件名。
-l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。
-L : 显示 zip 命令的版权。
-m : 将特定文件移入 zip 文件中,并且删除特定文件。
-n : 不压缩特定扩展名的文件。
-o : 将 zip 文件的时间设成最后修正 zip 文件的时间。
-q : 安静模式,不会显示相关讯息和提示。
-r : 包括子目录。
-t : 只处理 mmddyy 日期以后的文件。
-T : 测试 zip 文件是否正常。
-u : 只更新改变过的文件和新文件。
-v : 显示版本资讯或详细讯息。
-x : 不需要压缩的文件。
-y : 将 symbolic link 压缩,而不是压缩所连结到的文件。
-z : 为 zip 文件增加注解。
-# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩,
-9 :表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。
-@ : 从标准输入读取文件名称。