Здесь --preserve=все
возможность ср
; видеть человек КП
.
Но я рекомендую использовать rsync
вместо ср
; он гораздо более универсален, и его легко заставить сохранять временные метки и копировать только новые файлы. У него есть некоторая кривая обучения со всеми теми опциями, которые он поддерживает, но стоит погрузиться в это.
Обычный вариант использования выглядит примерно так:
rsync -n -av /some/where/sourcedir .
Это рекурсивно воспроизводит исходный каталог в текущий каталог как подкаталог исходный каталог/
. Это не коснется файлов, которые уже есть и имеют ту же метку времени/содержимое. -н
опция означает, что это просто пробный прогон, поэтому вы можете увидеть, что он будет делать (вместе с -v
за подробный). Как только вы будете довольны тем, что он будет делать, запустите его без -н
:
rsync -av /some/where/sourcedir .
Вы можете вызывать это неоднократно; если он больше ничего не делает, с ним действительно покончено.
Вы также можете удалять файлы, которые больше не находятся в исходном дереве каталогов с --удалять
:
rsync -av --delete /some/where/sourcedir .
Если вы добавите косую черту к исходному пути, это не создаст исходный каталог/
подкаталог в месте назначения, но копирует его непосредственно в этот подкаталог. Вместе с --удалять
, он создает копию этого дерева 1:1 в текущем каталоге, а также удаление все, чего нет в исходном поддереве:
rsync -av --delete /some/where/sourcedir/ .
Опять же, добавьте -н
посмотреть, что это бы делать. В общем, я настоятельно рекомендую всегда использовать -н
сначала, чтобы подтвердить, что он будет делать то, что вы хотите.
Есть множество других вариантов (например, --исключить=
); видеть человек rsync
.