移动 linux 目录,除非它已经存在
move linux directory unless it already exists
我需要一种方法来移动 linux 目录及其所有内容,前提是它当前不存在于目标位置。如果它当前存在(包括所有子文件夹和文件),那么源文件夹可以递归地删除。
我目前使用以下框架,但希望对其进行扩展以满足上述条件。
mv /source/* /target
谢谢
Gnu mv
有 -n
或 --no-clobber
选项。不幸的是,即使 mv
由于 --no-clobber
选项是空操作,它似乎 return 具有成功的退出状态,但是在您的用例中,您可以简单地执行 --no-clobber
移动,如果移动成功则清除源,无论它是否执行任何操作。
rsync -av --remove-source-files source/ destination/ && rm -rf source/
相应地替换 source/
和 destination/
。
我需要一种方法来移动 linux 目录及其所有内容,前提是它当前不存在于目标位置。如果它当前存在(包括所有子文件夹和文件),那么源文件夹可以递归地删除。
我目前使用以下框架,但希望对其进行扩展以满足上述条件。
mv /source/* /target
谢谢
Gnu mv
有 -n
或 --no-clobber
选项。不幸的是,即使 mv
由于 --no-clobber
选项是空操作,它似乎 return 具有成功的退出状态,但是在您的用例中,您可以简单地执行 --no-clobber
移动,如果移动成功则清除源,无论它是否执行任何操作。
rsync -av --remove-source-files source/ destination/ && rm -rf source/
相应地替换 source/
和 destination/
。