在 OSX 10.9 机器上运行。在 bash 终端中,我试图将文件从 dir 复制a到 dir ,并在复制文件时从 dir 中b删除文件a。
我正在使用以下命令:
rsync -av --delete -after /a/* /b
从acopy over tob的文件,但是传输后里面的文件a还在。
不是--delete这样。--delete(及其变体,如--delete-after)不会从源a中删除文件,它们会从目标b中删除源中不存在的文件。您正在寻找的论点是--remove-source-files.
尝试rsync -av --remove-source-files /a/ /b/
尝试这个:
rsync -av --remove-source-files /a/ /b/ && rm -rf /a/*
如果您完全担心在使用时不小心删除了未正确传输的目录(来自上一篇文章)
rm -rf /a/*
那么您可以使用更安全的方法来删除带有“查找”的空子目录。
rsync -av --remove-source-files /a/ /b/ && find /a/ -type d -empty -delete