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.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
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2019-02-01 05:18:57
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: cp、tar 命令排除文件和子目录 (米扑博客)