1

Я хочу обновить каталог на резервном диске, добавив в источник новое содержимое, и, конечно, rsync работает слишком медленно. cp -a делает трюк, но является бульдозером; cp -u должен оставить существующие файлы в покое. Однако, если я проверяю, что они делают вместе (cp -auv), я вижу множество файлов, скопированных в каталог, который уже был в AFAIK.

Глядя на руководство по cp, эти два варианта не кажутся противоречивыми. Так что я, вероятно, ошибаюсь, и cp делает правильные вещи. Некоторая избыточная работа в любом случае не имеет большого значения, потому что cp очень быстрый.

Или, может быть, они противоречат друг другу на практике, потому что всегда есть небольшая разница по стандартам между источником и местом назначения? Я не был бы первым смущенным -u.

‘--archive’
Preserve as much as possible of the structure and attributes of the original files in the copy (but do not attempt to preserve internal directory structure; i.e., ‘ls -U’ may list the entries in a copied directory in a different order). Try to preserve SELinux security context and extended attributes (xattr), but ignore any failure to do that and print no corresponding diagnostic. Equivalent to -dR --preserve=all with the reduced diagnostics. 
‘--update’
Do not copy a non-directory that has an existing destination with the same or newer modification time. If time stamps are being preserved, the comparison is to the source time stamp truncated to the resolutions of the destination file system and of the system calls used to update time stamps; this avoids duplicate work if several ‘cp -pu’ commands are executed with the same source and destination. If --preserve=links is also specified (like with ‘cp -au’ for example), that will take precedence. Consequently, depending on the order that files are processed from the source, newer files in the destination may be replaced, to mirror hard links in the source.

0