Unix上的递归移动实用程序?

前端之家收集整理的这篇文章主要介绍了Unix上的递归移动实用程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有时我有两棵树曾经有相同的内容,但已经变得不同步(因为我移动了磁盘或其他).一个很好的例子是我从Fedora镜像上游包的树.

我想通过将所有文件从tree1移动到tree2来再次合并这两棵树.

通常我这样做:

rsync -arv tree1/* tree2

然后删除tree1.

但是,这需要花费大量的时间和磁盘空间,并且能够更容易地执行:

mv -r tree1/* tree2

换句话说,一个递归的举动.它会更快,因为首先它甚至不会复制,只是移动inode,其次我不需要删除最后.

这存在吗?

作为测试用例,请考虑以下命令序列:

$mkdir -p a/b
$touch a/b/c1
$rsync -arv a/ a2
sending incremental file list
created directory
./
b/
b/c1
b/c2

sent 173 bytes  received 57 bytes  460.00 bytes/sec
total size is 0  speedup is 0.00
$touch a/b/c2

什么命令现在可以将a / b / c2移动到a2 / b / c2然后删除a子树(因为其中的所有内容已经在目标树中)?

根据gnu的mv的mv(1)手册页:

-u,– 更新仅当SOURCE文件比目标文件更新时才移动文件或目标文件丢失时

原文链接:https://www.f2er.com/bash/385690.html

猜你在找的Bash相关文章