1

在 OSX 10.9 机器上运行。在 bash 终端中,我试图将文件从 dir 复制a到 dir ,并在复制文件时从 dir 中b删除文件a

我正在使用以下命令:

rsync -av --delete -after /a/* /b

acopy over tob的文件,但是传输后里面的文件a还在。

4

3 回答 3

8

不是--delete这样。--delete(及其变体,如--delete-after)不会从源a中删除文件,它们会从目标b中删除源中不存在的文件。您正在寻找的论点是--remove-source-files.

尝试rsync -av --remove-source-files /a/ /b/

于 2013-11-01T17:41:33.710 回答
1

尝试这个:

rsync -av --remove-source-files /a/ /b/ && rm -rf /a/*
于 2016-01-16T22:54:20.920 回答
0

如果您完全担心在使用时不小心删除了未正确传输的目录(来自上一篇文章)

rm -rf /a/*

那么您可以使用更安全的方法来删除带有“查找”的空子目录。

rsync -av --remove-source-files /a/ /b/  && find /a/ -type d -empty -delete
于 2020-11-27T11:06:44.530 回答