之前使用tar命令压缩文件将时,使用了–exclude选项排除了一些不需要的文件。现在我想复制一个文件夹,但是其中一些文件不需要复制,此时注意到cp命令居然没有–exclude选项。
rsync可以快速地帮助我们完成相同的事情,命令如下:
rsync -av --progress folder_source/ folder_dest --exclude folder/file_excluded
可以在命令中加入-n来测试文件传输是否顺利:
rsync -av --progress folder_source/ folder_dest --exclude folder/file_excluded -n
如果有多个文件需要排除,可以在命令中多次使用–exclude选项:
rsync -av --progress folder_source/ folder_dest --exclude folder/file_excluded1 --exclude folder/file_excluded2
示例
rsync -av --progress test/ test_backup/ --exclude output
--exclude
后面直接接test下的子目录output,不应该写test/ouput,否则仍会复制这个文件夹- 源文件夹test后面一定要跟斜杠
/
,否则最终得到的文件夹会有嵌套(test_backup/test)。防止记混,我们规定源文件夹和目标文件夹后面都跟一个斜杠/
就不会有问题了