mv等效rsync命令

Kok*_*zzu 19 linux bash rsync mv

我正在尝试使用命令行将文件夹移动到另一个文件夹,如果已经存在则覆盖,但是当使用mv时我收到错误"是一个目录".

例:

mv src/test/ dest/
Run Code Online (Sandbox Code Playgroud)

src/test /上有很多文件和文件夹,dest /上也有一些文件和一些文件夹

我希望dest/上的文件和文件夹替换为src/test /中的文件和文件夹,如果存在,例如:

src/test/bla/boo replaces dest/bla/boo
src/test/bla/bla/boo replaces dest/bla/bla/boo
Run Code Online (Sandbox Code Playgroud)

另外,每次完成一个文件传输,从src/test/删除一个文件

整体转移进度条将是好的..

我应该使用什么rsync标志来实现这一目标?

Fré*_*idi 40

以下命令行应该实现您想要的:

$ rsync -a --progress --remove-source-files src/test/ dest
Run Code Online (Sandbox Code Playgroud)

  • 嗯,这不是什么`mv`.`mv`一个文件到同一个分区中的另一个目录根本不需要复制,而这个'rsync`等价物将花费很多时间复制文件然后删除源文件. (6认同)
  • 真?`--remove-source-files`就是这么做的. (2认同)
  • @yegle是对的.如果你真的想在物理(?)驱动器中移动文件,那么`mv`应该更快.如果你想移动到不同的驱动器,如外部硬盘驱动器,USB记忆棒等,那么上面的命令比我想的更喜欢`mv`. (2认同)