Операционные системы - правила работы

       

E.2.2.3.1. Команда cp.


В отличие от MS-DOS, в операционной системе Linux нет команд, копирующих или только файлы (как команда copy), или только файлы с деревом каталога (команда xcopy). Оба этих действия выполняет команда cp, которая, в зависимости от контекста, копирует и файлы, и каталоги. Ее синтаксис следующий:

cp <опции> {<источник>} <приемник>

Смысл команды следующий.

1. И источник, и приемник - имена файлов. Тогда команда просто создает копию (дубликат) файла с новым именем в текущем каталоге.

Пример:

cp oldfile newfile

2. Источник - имя файла, приемник - каталог. Команда создает копию файла - источника в указанном каталоге - приемнике.

Пример:

cp oldfile /home/den/mydir

3. Источник шаблон файла, приемник - каталог. Удовлетворяющие шаблону файлы копируются в каталог - приемник.

Пример:

cp ???file /home/den/mydir

4. Источник - имя файла (краткое или полное), приемник - полное имя файла. Происходит копирование указанного файла в каталог вместе с его переименованием.

Примеры:

cp thefile newdir/oldfile

- копирует файл thefile в подкаталог newdir в файл oldfile



cp newdir/oldfile newfile

- копирует файла oldfile из подкаталога newdir в файл newfile в текущем каталоге.

cp thefile ../file

- копирует файл thefile в файл file родительского каталога.

5. Источник - каталог + шаблон *.*, приемник - каталог. Копируются файлы из каталога - источника в каталог приемник. Подкаталоги копируются только в том случае, если указан ключ -r (смотри ниже).

Пример:

cp mydir/*.* newdir

- копируются все файлы из каталога mydir в каталог newdir.

Остальные комбинации являются запрещенными.

Основные опции команды cp.

-i - выдача запроса на подтверждение перезаписи. Дело в том, что при копировании в Linux происходит следующее:

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

b) Если файл с именем, указанным в приемнике, существует, то он СТИРАЕТСЯ, а на его месте создается новый файл БЕЗ ПРЕДУПРЕЖДЕНИЯ!

Чтобы выдать предупреждение, вводится опция -i. Пример ее использования:

cp -i newfile oldfile

После этой команды будет выдано предупреждение:

Overwrite oldfile?

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

-r - при копировании использовать подкаталоги любой вложенности. Аналогична использованию ключей /S и /A в команде DOS xcopy.



Содержание раздела