rsync 中可以多次使用 --exclude-from=FILE 吗?

Job*_*bst 0 rsync

该手册没有指定(也没有排除)我是否可以在命令行上--exclude-from=FILE多次指定,如下所示:

rsync -av --exclude-from=FILE1 --exclude-from=FILE2 source destination
Run Code Online (Sandbox Code Playgroud)

那么是否可以指定不同的排除文件?

小智 5

是的,您可以--exclude-from多次使用来指定不同的排除文件。如果您想将不同类别的文件分成单独的排除文件,这会很有帮助。

\n

这是目录结构,我必须删除可执行文件和生成的临时文件。

\n
root-dir/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir1-1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.out\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file1.txt\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir1-2\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.out\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir2\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir2-1\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.out\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file3.txt\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir3\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir3-1\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 a.exe\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir3-2\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.out\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 program1.cpp\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 program1.ii\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 program1.o\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 program1.s\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir3-3\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.out\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 program2.cpp\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 program2.ii\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 program2.o\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 program2.s\n
Run Code Online (Sandbox Code Playgroud)\n

使用命令

\n
rsync --exclude-from exclude-exec --exclude-from exclude-temps -av SRC/ DEST/\n
Run Code Online (Sandbox Code Playgroud)\n

排除执行包含

\n
*.out\n*.exe\n
Run Code Online (Sandbox Code Playgroud)\n

排除临时包含

\n
*.ii\n*.o\n*.s\n
Run Code Online (Sandbox Code Playgroud)\n

运行后的目录结构变成,

\n
root-dir/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir1-1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file1.txt\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir1-2\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir2\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir2-1\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file3.txt\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir3\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir3-1\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dir3-2\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 program1.cpp\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dir3-3\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 program2.cpp\n
Run Code Online (Sandbox Code Playgroud)\n