tar压缩文件,排除指定文件不压缩

一般直接用tar命令打包很简单,直接使用 tar -zcvf test.tar.gz test 即可。

在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件。

这时候我们在用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

原文地址:http://blog.51cto.com/jschu/2120828

时间: 2024-08-01 12:30:30

tar压缩文件,排除指定文件不压缩的相关文章

web站点和windows服务项目发布时如何排除指定文件

在发布asp.net站点和windows服务项目时,有的时候这样的需求:msbuild编译之后发布到服务器指定目录时要排除指定文件,比如通过jenkins构建时,不希望覆盖原来的Web.config和App.config,那么该如何排除呢? web站点项目 比如不希望发布Web.config文件,有以下三种方法. 1,将项Content改为None 修改前: 1 <Content Include="Web.config" /> 修改后: 1 <None Include

linux使用tar命令打包压缩时排除某个文件夹或文件

今天在使用tar命令进行文件夹打包压缩的时候,需要打包压缩masalaPage目录,但是该目录中的2017,2016两个目录中的文件不进行打包压缩 所以通常使用的tar -zcvf masalaPage.tar.gz masalaPage 方式就不行了 正确命令如下: tar -zcvf masalaPage.tar.gz --exclude=2017 --exclude=2016 masalaPage 这里主要使用到了 --exclude参数,将不想被打包压缩的目录添加进去即可. 注: 1.在

Linux tar命令exclude选项排除指定文件或目录

在linux中可以用tar打包目录以方便传输or备份,我们先来看一个例子 test 文件夹有如下文件 1 [[email protected] ~]# ll test 2 总用量 8 3 -rw-r--r--. 1 root root 0 4月 14 22:18 a.jpg 4 -rw-r--r--. 1 root root 0 4月 14 22:25 a.log 5 -rw-r--r--. 1 root root 0 4月 14 22:18 a.txt 6 -rw-r--r--. 1 root

Linux下tar命令exclude选项排除指定文件或目录

在linux中可以用tar打包目录以方便传输or备份,我们先来看一个例子 test 文件夹有如下文件 1 2 3 4 5 6 7 8 9 10 [[email protected] ~]# ll test 总用量 8 -rw-r--r--. 1 root root    0 4月  14 22:18 a.jpg -rw-r--r--. 1 root root    0 4月  14 22:25 a.log -rw-r--r--. 1 root root    0 4月  14 22:18 a.t

Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件

Linux下find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法(1)Linux下find一次查找多个指定文件:查找a.html和b.html find . -name "a.html"  -name "b.html" find . -regex '.*\.txt\|.*\.doc\|.*\.mp3' find . -regex '.*\.txt\|.*\.doc\|.*\.mp3' ./a.txt ./a.doc ./a.mp3 (2

rm排除指定文件或指定文件夹下文件

3.方法3,当前文件夹中结合使用grep和xargs来处理文件名: ls | grep -v keep | xargs rm #删除keep文件之外的所有文件 说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件. 好处:使用了grep来正则表达式来匹

ubuntu上解压目录里的文件到指定文件夹

去除目录结构加上 --strip-components N 如: 压缩文件eg.tar 中文件信息为 src/src/src/eg.txt 运行 tar -xvf eg.tar --strip-components 1 结果:src/src/eg.txt 如果运行  tar -xvf eg.tar --strip-components 3 解压结果为: eg.txt 在解压的时候,如果想指定解压目录,可以加参数-C 目标目录 如: 如我们解压eg.tar, 该文件在/data/src下面,如果需

PHP 解压 ZIP 文件到指定文件夹

本类实现参考 php manual 评论 /** * function: 解压zip 格式的文件 * author:friker * date:2015-15-14 * reference:http://php.net/manual/zh/ref.zip.php * all rights reserved:[email protected] */ class Unzip{ public function __construct(){ //init code here... header("con

自动备份指定文件列表中的文件到指定文件夹

因为业务需要,在每次页面变更的时候,都需要将原来的文件备份,下边是自己写的一个自动备份的脚本 #!/bin/bash #读取指定文件中文件列表,文件列表中每行一个 #脚本自动读取每行数据,判断文件是否存在,如果存在,则复制到按照时间命名的备份文件中.如果否则记录路径名称 FILE_LISTS=list.txt #定义列表文件名称,脚本必须和文件列表文件在同一目录下 CUR_PATH=`pwd`  #定义当前路径,执行脚本必须到脚本目录,如果要通过计划任务执行,则需要进行一定修改,将此路径修改为指

MFC - 释放文件到指定文件夹

1 // 释放文件到指定的文件夹 2 BOOL ReleaseRes(LPCTSTR szDLLFullPath, UINT uResID, LPCTSTR szResType) 3 { 4 if (uResID<=0 || !szResType) 5 { 6 return FALSE; 7 } 8 9 HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(uResID), szResType); 10 if ( NULL == hRsrc ) 11