测试树形目录

$ 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

参考推荐:

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐