rsync --remove-source-files 之后如何删除文件夹?

rsync --remove-source-files 之后如何删除文件夹?

我想将文件夹移动到其他位置而不使用mv

我用

rsync -aAXHv --remove-source-files <source> <destination>

但源文件夹<source>仍然没有内容。是否有删除所有空源文件夹的选项?

答案1

跟随rsync命令rm,保护以确保它仅在复制成功时触发

rsync -aAXHv --remove-source-files {src} {dst} &&
    rm -rf {src}

当然,通过这种组合,您不再一定需要--remove-source-files.

答案2

我喜欢理智地清理空文件夹。我跑:

find folder -type d -empty -exec rmdir {} \;

根据需要重复多次以递归删除空子文件夹,并且只会删除空文件夹(因为 rmdir 具有内置安全性,并且它不会删除非空文件夹),因此我以后不会了解到“rsync”未能移动这些文件,我的强力 rm -fr / 只是摧毁了我唯一的副本”;-)

zsh 专业提示:

repeat 15 find folder -type d -empty -exec rmdir {} \;

将处理几乎所有空文件夹堆栈。

相关内容