Linux下tar、cp命令排除某个目录或文件

1.Linux下使用tar命令解压/压缩gz文件很简单,使用一行命令就可以搞定。

tar解压gz文件 tar zxvf filename.tar.gz

tar压缩gz文件 tar zcvf filename.tar.gz dirname

有时候,我们打包压缩某一个目录,而需要排除其中一个目录或文件。这时我们使用tar命令,增加--exclude参数就能达到目的。

我们以Nginx为例,打包压缩时我们要排除nginx下的logs目录,命令如下:

tar zcvf filename.tar.gz --exclude=nginx/logs nginx

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

tar zcvf filename.tar.gz --exclude=nginx/logs --exclude=nginx/conf --exclude=nginx/temp.txt nginx

2.Linux下使用cp命令排除不需要的目录或文件比较麻烦,建议使用rsync命令。

rsync命令和tar命令排除目录相似也是使用--exclude参数。

rsync命令 -a参数表示archive模式,-v表示详细链模式输出,-z表示传输文件时使用压缩传输的模式。

注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。

我们以Apache为例,拷贝时我们要排除apache下的logs和conf目录,命令如下:

rsync -av --exclude=apache/logs --exclude=apache/conf apache backup
原文地址:https://www.cnblogs.com/reggieqiao/p/13268584.html