cp

cp — команда Unix в составе GNU Coreutils, предназначенная для копирования файлов из одного в другие каталоги (возможно, с другой файловой системой). Исходный файл остаётся неизменным, имя созданного файла может быть таким же, как у исходного, или измениться.

Последующие примеры использования касаются AIX версии cp. В других операционных системах семейства Unix данная команда может иметь другие ключи. В DOS и Windows аналогом является команда COPY.

Использование

[править | править код]

Чтобы скопировать файл

    cp [ -f ] [ -h ] [ -i ] [ -p ][ -- ] исходный_файл целевой_файл 

Чтобы скопировать файл или файлы в другой каталог

   cp [-R] [-H | -L | -P] [-f | -i] [-pv] исходный_файл ... целевой_каталог 

Чтобы скопировать каталог в другой каталог (должен быть использован флаг -r или -R)

    cp [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R } исходный_каталог ... целевой_каталог 

Чтобы скопировать каталог /media/fff1787/share1/load/ в каталог /media/beac6e58/, с выводом имени копируемого файла, автопропуском существующих файлов, рекурсивно для вложенных каталогов.

    cp -invR /media/fff1787/share1/load/ /media/beac6e58/ 

Синтаксис команды

[править | править код]
  • -a, --archive — копирование всех атрибутов, прав с рекурсией (-r).
  • -R, -r, --recursive (recursive) — копировать каталоги рекурсивно (то есть все подкаталоги и все файлы в подкаталогах).
  • -f (force) — разрешает удаление целевого файла, в который производится копирование, если он не может быть открыт для записи.
  • -H — используйте этот ключ, чтобы копировать символические ссылки. По умолчанию команда переходит по символическим ссылкам и копирует файлы, на которые те указывают.
  • -i (interactive) — команда будет запрашивать, следует ли перезаписывать конечный файл, имя которого совпадает с именем исходного, то есть если в параметре целевой_каталог или целевой_файл встречается такое же имя файла, какое было задано в параметре исходный_файл или исходный_каталог, то запрашивается подтверждение. Для того, чтобы перезаписать файл, следует ввести y или его эквивалент для данной локали. Ввод любого другого символа приведёт к отмене перезаписи данного файла.
  • -n, --no-clobber — не перезаписывать существующий файл (отменяет предыдущий параметр -i).
  • -v, --verbose — выводит имя каждого файла перед его копированием.

в некоторых системах назначен alias cp='cp -i', т.е. по умолчанию команда cp будет спрашивать о перезаписи

  • -p (preserve) — повторяет следующие свойства исходного файла или каталога у целевого файла или каталога:
    • Время последнего изменения и последнего доступа.
    • Идентификатор пользователя и группы.
    • Права доступа и биты SUID и SGID.