使用rsync移动文件并删除目录?
最近,我需要删除大量文件(超过100万个),并且我读到这样做: rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source 是执行此操作最优化的方法之一,我可以保证它的速度比快rm -rf。 我不是这方面的专家,但是据我了解,rsync性能的原因与它列出文件的方式有关(我想是LIFO而不是FIFO)。现在,问题是,我还需要以有效的方式移动大量文件。经过一番搜索,我发现了这一点: rsync -av --ignore-existing --remove-source-files ~/source ~/destination 虽然这会删除所有移动的文件中~/source,该目录留在那里。由于我具有类似“循环”的目录结构files/directories,因此其数量非常接近1,因此我被迫再次运行第一个命令以完全摆脱该目录: rsync -av --ignore-existing --remove-source-files ~/source ~/destination && \ rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source 一条直线mv几乎可以立即完成,但是我的~/destination目录中有应保留的文件,因此mv不是一种选择。我找到了--prune-empty-dirsand --forcersync选项,但似乎都不如预期: --force force deletion of directories even if not empty --prune-empty-dirs prune …