Копирование файлов
Копирование нескольких файлов одной командой
Одним из недостатков команды сору системы 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.
Дополнительные возможности
Команда ср предоставляет несколько дополнительных средств, увеличивающих возможности обычного копирования файлов и каталогов. Среди них – сохранение в копии состояния исходного файла и альтернативные методы защиты от копирования поверх существующего файла.