通过合并目录继续停止移动 (mv) 的最佳方法?

Hor*_*ter 24 command-line file-copy rename

我已经在我的 NAS(基于 Linux)上移动 (mv) 一个相当大的目录,但不得不中断该过程。不是一个普通的 Linux 用户,我虽然我可以继续并稍后合并其余部分。

mv /oldisk/a /newdisk
Run Code Online (Sandbox Code Playgroud)

过程已完成一半,因此 /oldisk/a 的其余部分仍然存在,并且带有已复制文件的 /newdisk/a 已经存在。我不知道已经复制了哪些文件。顺便说一句,在/olddisk/a 下,当然有很多子目录。

将剩余文件移动/合并到 /newdisk/a 的最佳方法是什么?

cjc*_*cjc 33

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

--dry-run(或-n)会做一个预演,显示你有什么能不真正做任何事情做。

如果看起来没问题,请在没有该-n选项的情况下运行 rsync 。

这将是一个副本,而不是一个移动,这不是您正在做的,但更安全。该--archive(或-a)确保所有的所有权和时间戳的元数据被保存(其中普通副本不会)。

  • 您可以使用 `--remove-source-files` 删除已成功复制的文件。此外,`-P` 或 `--progress` 将显示还有多少文件要做的估计。 (7认同)
  • @deltab,--progress 为每个单独的文件绘制一个新的栏,而不是为整个传输绘制一个--info=progress2。 (3认同)
  • 复制就可以了,以后可以随时删除旧目录。 (2认同)
  • 作为移动的示例:`rsync --remove-source-files --recursive --times --crtimes 1/* 2/` (2认同)
  • 哇,真是太可惜了。Mv 肯定坏了,它需要其他工具来完成它自己应该能够完成的工作。我刚刚发现了这一点, mv 拒绝写入现有目录,这非常可悲。是时候用更实用的东西替换这个命令了。 (2认同)