Копирование файлов (команда cp)

Команда cp копирует файл или каталог, указанный в параметре Исходный_файл или Исходный_каталог, в файл или каталог, заданный в параметре Целевой_файл или Целевой_каталог.

Если Целевой_файл существует, то его содержимое заменяется без предупреждения. При копировании нескольких Исходных_файлов должен быть указан целевой каталог.

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

Для помещения копии файла Исходный_файл в определенный каталог укажите путь к этому каталогу в параметре Целевой_каталог. При копировании в другой каталог файлы сохраняют свои имена, если только в конце пути не было указано новое имя файла. Команда cp также копирует полные каталоги в другие каталоги. Для этого нужно указать флаг -r или -R.

Для копирования специальных файлов устройств нужно указать флаг -R. Флаг -R позволяет скопировать специальный файл в файл с новым именем в другом каталоге. Если вы укажете флаг -r, то команда cp скопирует специальный файл в стандартный файл.

Ниже приведены примеры применения команды cp:
  • Для создания копии файла в текущем каталоге введите:
    cp prog.c prog.bak
    Эта команда копирует файл prog.c в файл prog.bak. Если файл prog.bak не существует, то команда cp создаст его. Если такой файл существует, команда cp заменит его на копию файла prog.c.
  • Для того чтобы скопировать файл из текущего каталога в другой каталог, введите:
    cp jones /home/nick/clients
    Эта команда копирует файл jones в файл /home/nick/clients/jones.
  • Для того чтобы скопировать все файлы каталога в другой каталог, введите:
    cp /home/janet/clients/* /home/nick/customers
    Все файлы из каталога clients будут скопированы в каталог customers.
  • Для того чтобы скопировать набор файлов в другой каталог, введите:
    cp jones lewis smith /home/nick/clients
    Эта команда копирует файлы jones, lewis и smith текущего каталога в каталог /home/nick/clients.
  • Для копирования всех файлов, соответствующих указанному шаблону, введите:
    cp programs/*.c .
    Все файлы из каталога programs с расширением .c будут скопированы в текущий каталог, обозначенный точкой (.). Между символом c и последней точкой должен стоять пробел.