的GNU/Linux version of cp
有一个很好的--update
标志:如何在Mac OS X上模拟'cp --update'行为?
-u,--update只 拷贝当源文件比目标文件或当目标文件丢失
新Mac OS X version of cp
缺少这个标志。
通过使用内置系统命令行程序来获取cp --update
行为的最佳方法是什么?我想避免安装任何额外的工具(包括GNU版本cp
)。
的GNU/Linux version of cp
有一个很好的--update
标志:如何在Mac OS X上模拟'cp --update'行为?
-u,--update只 拷贝当源文件比目标文件或当目标文件丢失
新Mac OS X version of cp
缺少这个标志。
通过使用内置系统命令行程序来获取cp --update
行为的最佳方法是什么?我想避免安装任何额外的工具(包括GNU版本cp
)。
rsync
有一个-u
/--update
选项,作品就像GNU cp
:
$ rsync -u src dest
而且看的rsync的其他选项,这可能是你真正想要的东西:
-l, --links copy symlinks as symlinks
-H, --hard-links preserve hard links
-p, --perms preserve permissions
--executability preserve executability
-o, --owner preserve owner (super-user only)
-g, --group preserve group
--devices preserve device files (super-user only)
--specials preserve special files
-D same as --devices --specials
-t, --times preserve times
-a, --archive
This is equivalent to -rlptgoD. It is a quick way of saying you want recursion
and want to preserve almost everything (with -H being a notable omission). The
only exception to the above equivalence is when --files-from is specified, in which
case -r is not implied.
Note that -a does not preserve hardlinks, because finding multiply-linked files is
expensive. You must separately specify -H.