【问题标题】:move linux directory unless it already exists移动 linux 目录,除非它已经存在
【发布时间】:2016-05-20 22:32:11
【问题描述】:

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

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

mv /source/* /target

谢谢

【问题讨论】:

    标签: linux terminal file-move


    【解决方案1】:

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

    相应地替换 source/destination/

    Source

    【讨论】:

    • 太棒了。正是我需要的。
    【解决方案2】:

    Gnu mv-n--no-clobber 选项。不幸的是,即使mv 是由于--no-clobber 选项而导致的无操作,它似乎也会以成功的退出状态返回,但是似乎在您的用例中,您可以简单地执行--no-clobber 移动然后如果移动成功则清除源,无论它是否执行任何操作。

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 1970-01-01
      • 2020-10-31
      • 2018-03-15
      • 2015-05-12
      • 2011-10-23
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      相关资源
      最近更新 更多