十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Linux tar 打包排除某些文件夹[通俗易懂]场景想要将以前的程序打包下来,但是发现有log日志,而且比较大,有几G大。解决思路打包的时候,将某些文件夹给排除掉,只打包自己想要的文件。解决方法使用tar命令来进行打包,并使用-exclude这个参数来排除一个文件夹。如果存在多个排除文件夹,就要写多个参数。
创新互联专注于企业营销型网站建设、网站重做改版、颍上网站定制设计、自适应品牌网站建设、成都h5网站建设、商城网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为颍上等各大城市提供网站开发制作服务。
使用tar命令来进行打包,并使用-exclude这个参数来排除一个文件夹。如果存在多个排除文件夹,就要写多个参数。
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk --exclude=scheduler/logs scheduler
常见错误
打包命令觉得没有错,但是还是将排除的文件夹给打包进去了。原因之一便是在写路径的时候,后面跟了/,导致排除失败。
失败用法
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk/ --exclude=scheduler/logs/ scheduler
正确用法
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk --
可以使用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的数字
在用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