linux文件夹内文件复制,如何排除某个文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件夹内文件复制,如何排除某个文件相关的知识,希望对你有一定的参考价值。

参考技术A

1、首先连接linux服务器,然后cd切换到需要打包的目录中,这里新建了几个测试文件来演示如何使用tar打包。

2、输入tar -czvf test.tar.gz *,星号表示当前目录下所有文件,平常我们打包默认都会使用*号来匹配所有文件,如果一个一个文件的写上太麻烦。

3、可以使用vi test.tar.gz命令进入tar包内查看打包的文件内容,如图的打包结果可以看出,目录下面的所有文件都打进去了。

4、一般在打包或备份应用程序的时候需要排除以上的日志文件,那么我们采用tar命令自带排除参数即可。

5、排除c.log文件,tar -czvf test.tar.gz * --exclude c.log,从打包结果中可以看出,c.log文件不再被打到tar包里了。

linux tar压缩排除某个文件夹

一般直接用tar命令打包很简单,直接使用 tar -czvf 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

以上是关于linux文件夹内文件复制,如何排除某个文件的主要内容,如果未能解决你的问题,请参考以下文章

linux文件夹内文件复制,如何排除某个文件

linux tar压缩排除某个文件夹

linux tar压缩排除某个文件夹

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

Linux的du用法排除某个目录

linux下面tar打包, 排除某个特定的目录( 只对一个目录操作, 不对其他目录操作)