Введение

Командная утилита Unix

В информатике, `cp` — это команда в различных операционных системах Unix и подобных Unix для копирования файлов и каталогов. Команда имеет три основных режима работы, определяемых типами аргументов, передаваемых программе для копирования файла в другой файл, одного или нескольких файлов в каталог, или для копирования целых каталогов в другой каталог. Утилита также принимает различные флаги параметров командной строки для уточнения выполняемых операций. Существуют две основные спецификации: POSIX `cp` и GNU `cp`. GNU `cp` имеет множество дополнительных опций по сравнению с версией POSIX. Команда также доступна в EFI shell.

История

cp был частью Unix версии 1. Версия команды cp, входящая в состав GNU coreutils, была написана Торбьорном Гранлундом, Дэвидом Маккензи и Джимом Мейерингом.

Режимы работы

cp имеет три основных режима работы. Эти режимы определяются типом и количеством аргументов, переданных программе при запуске. Если программе передано два аргумента – имена путей к файлам, программа копирует содержимое первого файла во второй файл, создавая второй файл при необходимости. Если программе передано одно или несколько имен путей к файлам, за которыми следует имя пути к каталогу, программа копирует каждый исходный файл в каталог назначения, создавая отсутствующие файлы. Если аргументы программы – имена путей к двум каталогам, cp копирует все файлы из исходного каталога в каталог назначения, создавая необходимые файлы и каталоги. Для этого режима работы требуется дополнительный флаг опции, обычно r, для указания рекурсивного копирования каталогов. Если каталог назначения уже существует, источник копируется внутрь него, а если не существует – создается новый каталог.