2

我需要一种方法来移动 linux 目录及其所有内容,前提是它当前不存在于目标位置。如果它当前确实存在(包括所有子文件夹和文件),则可以递归地删除源文件夹。

我目前使用以下框架,但希望扩展它以满足上述标准。

mv /source/* /target

谢谢

4

2 回答 2

1

rsync -av --remove-source-files source/ destination/ && rm -rf source/

source/并相应地替换destination/

来源

于 2016-05-20T22:50:31.870 回答
0

Gnumv-nor--no-clobber选项。不幸的是,即使mv由于该--no-clobber选项而导致无操作,它似乎也会以成功的退出状态返回,但是在您的用例中,您似乎可以简单地进行--no-clobber移动,然后如果移动成功则清除源,而不管不管它有没有做任何事情。

于 2016-05-20T22:49:48.803 回答