平时的工作中经常需要推送代码,文件资源到服务器,也从服务器中拷贝资源到本地,基本上通过scp就能方便满足需求: scp file1 root@host:/path/to/dest/ scp -r /path/to/source/file/ root@host:/path/to/dest/ 详细了解scp和rsync这两个命令我看到一篇博文说的比较详细www.cnblogs.com/kevingrace/… 这里我就只记录一下我的需求和命令。这次我需要从服务器上拷贝大量文件到本地,但是其中有一个文件夹我需要过滤掉,用scp的话不知道如何过滤,所以就需要用到rsync这个命令进行过滤拷贝: 命令如下: rsync -e ssh -av --exclude=goods root@47.94.106.106:/home/hfyt666/front_end_pc/ ./ rsync 搭配 ssh -e ssh :使用 ssh 作为远程 shell,这样所有的东西都被加密 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -v, --verbose 详细模式输出 --exclude 指定同步时需要过滤掉的文件或子目录(即不需要同步过去的),后面直接跟不需要同步的单个文件名或子目录(不需要跟路径,也不需要写引号) ,过滤多个文件或子目录,就使用多个--exclude=goods --exclude=goods2 我这条命令就是远程从服务器ip为47.94.106.106电脑上/home/hfyt666/front_end_pc/文件夹整体拷贝到当前目录过滤掉里头goods这个文件夹。 这样就能满足我的需求,当然如果还有其他需求可以自行研究一下这两个命令