Установка Linux Red Hat 7.1

         

Копирование нескольких файлов одной командой



Копирование нескольких файлов одной командой

Одним из недостатков команды сору системы DOS является то, что в ней можно указать лишь одно имя файла или выражение. Например, по команде

$ copy file /temp

происходит копирование файла file в каталог / temp. Другой вариант: $ copy *.tsct /temp





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

Команда ср из Linux в этом отношении несколько удобнее. В отличие от двойника из DOS, в команде ср можно указать более двух аргументов. При этом последний из них трактуется как адрес назначения, остальные - как имена копируемых файлов.

Рассмотрим пример. Предположим, нам надо скопировать файлы FileOne, FileTwo и FileThree из текущего каталога в каталог /trap. Естественно, это можно сделать, введя команду копирования трижды.

$ ср FileOne /tmp

$ ср FileTwo /tmp

$ ср FileThree /tmp

Можно упростить задачу, объединив три команды в одну. $ ср FileOne FileTwo FileThree /tmp

Аналогично, при копировании большого числа файлов можно указать несколько аргументов с подстановочными символами.

$ ср *.txt *.doc *.bak /tmp

В этом случае происходит копирование всех файлов, имена которых имеют одно из трех указанных расширений.

Примечание

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

ср: when copying multiple files, last argument must be a directory. Try 'cp —help'for more information. (При копировании нескольких файлов последним надо указывать каталог. Для получения дополнительной информации введите 'ср --help'.)

Для копирования целого каталога со всеми подкаталогами введите команду ср с флажком -R. Если в текущем каталоге существует подкаталог SomeDir, то для рекурсивного копирования этого подкаталога (со всем его содержимым) в подкаталог / tmp воспользуйтесь следующей командой.

$ ср -R SomeDir /tmp

При копировании будет создан новый каталог /tmp/SomeDir, в который и будет скопировано содержимое исходного подкаталога SomeDir.



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