чем cp -a отличается от просто cp?
Аргументы, обязательные для длинных ключей, обязательны и для коротких.
-a, --archive то же, что и -dPR --preserve=all
--attributes-only не копировать данные файла, только атрибуты
--backup[=КОГДА] создавать резервную копию каждого целевого
файла
-b то же, что и --backup, но без аргумента
--copy-contents копировать содержимое специальных файлов при
рекурсивной обработке
-d то же, что и --no-dereference --preserve=link
-f, --force если невозможно открыть существующий файл, то
удалить его и попробовать ещё раз (этот параметр
игнорируется, если также указан ключ -n)
-i, --interactive спрашивать перед тем как переписывать (отменяет
ранее указанный ключ -n)
-H следовать по символьным ссылкам в ИСТОЧНИКЕ
-l, --link создавать жёсткие ссылки вместо копирования
-L, --dereference всегда следовать символьным ссылкам в ИСТОЧНИКЕ
-n, --no-clobber не перезаписывать существующий файл (отменяет
ранее указанный ключ -i)
-P, --no-dereference не следовать по символьным ссылкам в ИСТОЧНИКЕ
-p то же, что и
--preserve=mode,ownership,timestamps
--preserve[=СПИС_АТТР] сохранять указанные атрибуты (по умолчанию:
mode,ownership,timestamps) и, если возможно,
дополнительные атрибуты: context, links, xattr,
all
--no-preserve=СПИС_АТТР не сохранять указанные атрибуты
--parents добавить исходный путь к КАТАЛОГУ
-R, -r, --recursive рекурсивно копировать каталоги
--reflink[=КОГДА] контролировать копии clone/CoW. См. ниже.
--remove-destination удалять каждый файл назначения перед
попыткой его открыть (обратно к --force)
--sparse=КОГДА управлять созданием разреженных файлов.
См. ниже.
--strip-trailing-slashes удалять все конечные косые черты из каждого
аргумента ИСТОЧНИК
-s, --symbolic-link создавать символьные ссылки вместо копирования
-S, --suffix=СУФФИКС использовать для запасных копий заданный
СУФФИКС
--target-directory=КАТ скопировать все ИСТОЧНИКИ в КАТАЛОГ
-T, --no-target-directory считать НАЗНАЧЕНИЕ обычным файлом
-u, --update копировать только тогда когда исходный файл
новее чем файл назначения, или когда файл
назначения отсутствует
-v, --verbose пояснять что будет сделано
-x, --one-file-system оставаться в пределах одной файловой системы
--help показать эту справку и выйти
--version показать информацию о версии и выйти
По умолчанию, разреженные файлы ИСТОЧНИКА распознаются при помощи грубой
эвристической процедуры и соответственно создаются разреженные НАЗНАЧЕНИЯ.
Такое поведение задаётся при помощи ключа --sparse=auto.
С ключом --sparse=always всегда создаётся разреженный файл НАЗНАЧЕНИЯ, вне
зависимости от того, содержит ли ИСТОЧНИК достаточно длинные
последовательности нулевых байтов. Используйте ключ --sparse=never для
запрещения создания разреженных файлов.
Если указано --reflink[=always], выполняется облегчённое копирование, при котором
блоки данных копируются только при изменении. Если это невозможно, или если
указано --reflink=auto, то используется обычное копирование.