rsync 使用什么标志来删除文件 /dest/foo 并将其替换为目录 /src/foo?

rsync 使用什么标志来删除文件 /dest/foo 并将其替换为目录 /src/foo?

我应该使用什么标志来使 rsync 删除文件 /dest/foo并将其替换为目录 /src/foo

另外,反过来,替换目录 /dest/foo文件 /src/foo

答案1

你有

$ tree -F
.
|-- dest/
|   `-- foo
`-- src/
    `-- foo/

3 directories, 1 file

这样做rsync -r src/foo dest会将文件替换dest/foo为目录src/foo

$ rsync -r src/foo dest
$ tree -F
.
|-- dest/
|   `-- foo/
`-- src/
    `-- foo/

4 directories, 0 file

不过,您最常希望使用-a( --archive) 选项,这意味着-r( --recursive) 并且还保留元数据。


相反的工作方式类似:

$ tree -F
.
|-- dest/
|   `-- foo/
`-- src/
    `-- foo

3 directories, 1 file

命令是相同的,尽管-r这里实际上不需要(您不能递归到文件中):

$ rsync -r src/foo dest
$ tree -F
.
|-- dest/
|   `-- foo
`-- src/
    `-- foo

2 directories, 2 files

相关内容