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

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

在用tar命令打包的时候,增加参数 --exclude 就能达到目的。

例如:

以tomcat 为例,打包的时候要排除 tomcat/logs 目录,命令如下:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat

如果要排除多个目录,增加 --exclude 即可,如下命令排除logs和libs两个目录及文件xiaoshan.txt:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat

这里要说一下注意事项:

linux在使用tab键的时候会对目录名称自动补全,这很方便,也比较常用。

如输入 tomcat/lo 的时候按tab键,命令行会自动生成 tomcat/logs/ ,对于目录,最后会多一个 “/”。这里大家要注意的时候,在使用tar 的--exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。

错误写法:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs/ --exclude=tomcat/libs/ tomcat

正确写法:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs tomcat

楼上的回答过于精简了,我对mkisofs命令了解也不多,就给楼上的作一下注解好了

mkisofs

-o 选项后面跟的是输出文件,这里是backup.iso

-x 选项后面是要过滤的目录和文件,这个参数应该是可以重复用几个的,比如

-x /home/backup/exclude -x /home/backup/exclude2,我没用过,楼主可以试试

最后一个参数是要备份/压缩的原目录

就这样了

使用zip命令的-d参数即可删除zip包中的特定文件。

示例:假设有test.zip,包含_code(目录)、_code.zip、readme.txt三个文件,现在要删除test.zip中的_code目录,则执行如下命令

zip

-d

test.zip

_code

其实这就涉及到命令的灵活运用了,建议楼主系统的去回顾下命令,特别是命令后面的参数,《Linux就该这么学》这本书不错,图文介绍的非常详细,建议下载下来看看。希望可以帮到您!


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

原文地址: http://outofmemory.cn/yw/8473477.html

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

发表评论

登录后才能评论

评论列表(0条)

保存