Linux下zip压缩文件时怎样排除指定的文件?

Linux下zip压缩文件时怎样排除指定的文件?,第1张

在用tar命令打包的时候,增加参数 --exclude 就能达到目的。\x0d\x0a例如:\x0d\x0a以tomcat 为例,打包的时候要排除 tomcat/logs 目录,命令如下:\x0d\x0atar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat\x0d\x0a如果要排除多个目录,增加 --exclude 即可,如下命令排除logs和libs两个目录及文件xiaoshan.txt:\x0d\x0atar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat\x0d\x0a这里要说一下注意事项:\x0d\x0alinux在使用tab键的时候会对目录名称自动补全,这很方便,也比较常用。\x0d\x0a如输入 tomcat/lo 的时候按tab键,命令行会自动生成 tomcat/logs/ ,对于目录,最后会多一个 “/”。这里大家要注意的时候,在使用tar 的--exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。\x0d\x0a错误写法:\x0d\x0atar -zcvf tomcat.tar.gz --exclude=tomcat/logs/ --exclude=tomcat/libs/ tomcat\x0d\x0a正确写法:\x0d\x0atar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs tomcat

Linux中在复制一个目录时排除其中的某个文件,方法案例如下:

#新建一个test1目录

[oracle@prod ~]$ mkdir test1

#新建一个test2目录

[oracle@prod ~]$ mkdir test2

#进入test1目录

[oracle@prod ~]$ cd test1

#在test1目录新建5个txt文件

[oracle@prod test1]$ touch 1.txt 2.txt 3.txt 4.txt zhidao.txt

#然后复制test1目录文件到test2目录,排除zhidao.txt

[oracle@prod test1]$cp `ls | grep -v zhidao.txt | xargs` ../test2

#进入test2目录

[oracle@prod test1]$ cd ../test2

#查看test2目录文件,已经排除了zhidao.txt

[oracle@prod test2]$ ls -lt

total 0

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 1.txt

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 2.txt

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 3.txt

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 4.txt

可以使用zip命令的-x参数排除指定的文件。

1、举例说明,test目录下有1.png、2.tt、good.txt三个文件,现在将test目录压缩成test.zip,排除其目录下的good.txt,如下图所示。

2、执行如下命令,排除test目录下的good.txt文件。

zip -r test.zip test -x "./test/good.txt"

说明:-r是递归压缩,-x后面排除good.txt。

3、补充一下zip命令的常用参数:

-r 递归压缩,将指定目录下的所有文件以及子目录全部压缩

-d 从压缩文件内删除指定的文件

-i “文件列表” 只压缩文件列表中的文件

-x “文件列表” 压缩时排除文件列表中指定的文件

-u 更新文件到压缩文件中

-m 将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中

-F 尝试修复损坏的压缩文件

-T 检查压缩文件内的每个文件是否正确无误

- 压缩级别 压缩级别是一个1~9的数字


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8309725.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存