我正在读一本书“Linux Command Line”,
有-u
命令mv
和“cp”的更新选项
-u, --update 将文件从一个目录移动到另一目录时,仅移动不存在或比目标目录中现有对应文件新的文件。
BSD 'mv' 命令中不包含该选项。
有什么替代选项--update
?
答案1
您可以使用rsync
而不是mv
组合这两个选项:
-u, --update skip files that are newer on the receiver
--remove-source-files sender removes synchronized files (non-dir)
答案2
BSD 的替代方案是
[ "$target" -nt "$source" ] || mv "$source" "$target"
这会执行mv
if$target
不存在,或者它不比 更新$source
。