linux cp 排除文件,cp、tar命令排除文件和子目录 - 米扑博客
测试树形目录$ cd mimvp-blog/$ tree.|____111.txt|____222.txt|____333.txt|____folder01| |____111.txt| |____222.txt| |____333.txt|____folder02| |____111.txt| |____222.txt| |____333.txt|____folder03| |____111.t
测试树形目录
$ cd mimvp-blog/
$ tree
.
|____111.txt
|____222.txt
|____333.txt
|____folder01
| |____111.txt
| |____222.txt
| |____333.txt
|____folder02
| |____111.txt
| |____222.txt
| |____333.txt
|____folder03
| |____111.txt
| |____222.txt
| |____333.txt
cp 命令排除不想拷贝的文件和子目录
rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率。你可以使用它进行本地数据或远程数据的复制,Rsync可以使用SSH安全隧道进行加密数据传输。Rsync服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,如果源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync使用TCP 873端口。
rsync 命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。
安装 rsync:yum -y install rsync
rsync 命令 -a参数表示archive模式,-v表示详细链模式输出,-z表示传输文件时使用压缩传输的模式。
注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。
例如,不想拷贝文件 333.txt,不想拷贝目录 folder02、folder03,需要写三个排除参数
rsync -av --exclude mimvp-blog/111.txt --exclude mimvp-blog/folder02 --exclude mimvp-blog/folder03 mimvp-blog ~/script/
或者
cd mimvp-blog/
rsync -av --exclude 333.txt --exclude folder02 --exclude folder03 ../mimvp-blog ~/script/
示例演示:
$ cd mimvp-blog/
$ rsync -av --exclude 333.txt --exclude folder02 --exclude folder03 ../mimvp-blog ~/script/
building file list ... done
mimvp-blog/
mimvp-blog/111.txt
mimvp-blog/222.txt
mimvp-blog/folder01/
mimvp-blog/folder01/111.txt
mimvp-blog/folder01/222.txt
sent 394 bytes received 120 bytes 1028.00 bytes/sec
total size is 20 speedup is 0.04
注意:
1、排除的可以是文件,也可以是目录(文件夹)
2、排除一个目录是 --exclude dir1 ,而不是 --exclude dir1/ ,排除文件当然都是 --exclude file.txt
3、MacOS平台是 --exclude dir1 ; CentOS 平台是 --exclude=dir1,注意空格和等号(=),不同系统平台参数格式可能不一样
查看拷贝结果:
$ ll ~/script/mimvp-blog/
-rw-r--r-- 1 homer staff 5 9 14 15:26 111.txt
-rw-r--r-- 1 homer staff 5 9 14 15:26 222.txt
drwxr-xr-x 4 homer staff 136 9 14 15:27 folder01
tar 命令排除不想压缩的文件和子目录
tar 排除压缩参数为 --exclude,可以匹配排除文件和目录
安装 tar:yum -y install tar
例如,压缩时排除文件 333.txt,排除目录 folder02、folder03,需要写三个排除参数
tar zcvf ~/script/mimvp-blog.tar.gz --exclude mimvp-blog/111.txt --exclude mimvp-blog/folder02 --exclude mimvp-blog/folder03 mimvp-blog
示例演示:
$ tar zcvf ~/script/mimvp-blog.tar.gz --exclude mimvp-blog/111.txt --exclude mimvp-blog/folder02 --exclude mimvp-blog/folder03 mimvp-blog
a mimvp-blog
a mimvp-blog/222.txt
a mimvp-blog/333.txt
a mimvp-blog/folder01
a mimvp-blog/folder01/111.txt
a mimvp-blog/folder01/222.txt
a mimvp-blog/folder01/333.txt
注意:
1、排除的可以是文件,也可以是目录(文件夹)
2、排除一个目录是 --exclude dir1 ,而不是 --exclude dir1/ ,排除文件当然都是 --exclude file.txt
3、MacOS平台是 --exclude dir1 ; CentOS 平台是 --exclude=dir1,注意空格和等号(=),不同系统平台参数格式可能不一样
查看压缩的结果:
$ tar zxvf mimvp-blog.tar.gz
x mimvp-blog/
x mimvp-blog/222.txt
x mimvp-blog/333.txt
x mimvp-blog/folder01/
x mimvp-blog/folder01/111.txt
x mimvp-blog/folder01/222.txt
x mimvp-blog/folder01/333.txt
$
$ cd mimvp-blog
$ tree
.
|____222.txt
|____333.txt
|____folder01
| |____111.txt
| |____222.txt
| |____333.txt
参考推荐:
更多推荐



所有评论(0)