Копирование файлов и каталогов

Для копирования файлов и каталогов применяется команда cp (от англ. copy – копировать). Команда cpтребует присутствия двух обязательных параметров: первый – копируемый файл или каталог (или их список), второй – файл или каталог назначения. Как обычно, в именах файлов и каталогов можно использовать полные и относительные пути и шаблоны.

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

ср [ключи] имя_исходного_файла/каталога имя_целевого_файла/каталога

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

Если аргументами команды ср являются имена двух файлов (каталогов), то команда ср копирует исходный файл (каталог) в файл (каталог), имя которого задано целевым файлом (каталогом).

Если последний аргумент не является каталогом и при этом задано несколько имен файлов, то команда ср завершается с ошибкой.

По умолчанию команда cp, как и многие другие команды, будет работать с файлами в текущем каталоге.

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

Некоторые флаги команды ср:

-i, --interactive требует подтверждения при перезаписи существующих целевых файлов
-R, --recursive копирует каталоги рекурсивно
-v, --verbose печатает имя каждого файла перед его копированием
-u, --update копирует только при условии, что исходный (копируемый) файл новее, чем целевой файл, или целевой файл вообще отсутствует

Примеры:

cp /etc/rc.d/init.d/httpd копирование файла /etc/rc.d/init.d/httpd в текущий каталог
cp -R prog dir рекурсивное копирование каталога prog в каталог dir
cp ~/labs/lab1 ~/copy копирование файла ~/labs/lab1 в каталог ~/copy
cp ~/labs/lab1 ~/copy/l1 копирование файла ~/labs/lab1 в каталог ~/copy с новым именем l1

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: