Копирование файлов
Любой, у кого есть хотя бы небольшой опыт работы в DOS или окне DOS системы Windows, знает, что перетаскивание файлов из окна в окно – не единственный способ их копирования. Команда DOS copy предоставляет дополнительные возможности – например, использование подстановочных символов, – которые могут ускорить, упростить процесс и сделать его более эффективным, чем в Диспетчере файлов или Проводнике.
В Linux для копирования применяется команда ср (/bin/cp).
Основные операции копирования
Безусловно, простейшее применение команды ср – копирование файла из одного каталога в другой или создание дубликата в том же каталоге. Например, чтобы создать копию файла ThisFile, поместив ее в том же каталоге под именем ThisFile-Acopy, необходимо ввести следующую команду:
$ ср ThisFile ThisFile-Acopy
Если теперь заглянуть в указанный каталог при помощи команды Is -|, то в нем окажется два файла абсолютно одинакового объема, но с разными датами создания. Дата создания нового файла совпадет с датой копирования, первоначальный же останется неизменным. Изменение файла ThisFile-Acopy не затронет файл ThisFile.
Аналогично, можно копировать файл ThisFile в каталог /tmp (например, чтобы предоставить к нему доступ другому пользователю). Для этого воспользуйтесь следующей командой.
$ ср ThisFile /tmp
Если файл, копируемый в другой каталог, требуется еще и переименовать, следует ввести команду:
$ ср ThisFile /tmp/NewFileName
Не записывайте поверх существующего файла
Все дистрибутивы Linux имеют один существенный недостаток: при копировании файлов существует опасность записи копии поверх существующего файла, Предположим, у вас есть два файла – ThisF%le и NewFile. Если вы решите создать копию одного из них, введя команду:
$ ср ThisFile NewFile
…копия запишется поверх файла NewFile, что приведет к его утрате (если, конечно, вы не были настолько предусмотрительны, чтобы позаботиться о резервной копии).
Чтобы избежать неприятностей, вводите команду ср с флажком – i. В этом случае система потребует подтверждения копирования поверх существующего файла.
$ ср – i ThisFile NewFile ср: overwrite 'ThisFile'?
Чтобы обезопасить себя от подобных неприятностей, создайте алиас (псевдоимя) команды ср следующей командой:
$ alias cp='cp – i
Теперь при каждом обращении к команде ср последняя автоматически будет превращаться в команду ср – i. Следовательно, будет выводиться предупреждение о-каждом случае копирования поверх существующего файла. Как показано в гл. 16, модифицированием файла bashrc можно конфигурировать оболочку Bash так, чтобы указанный псевдоним устанавливался при каждом входе в систему. (Оболочка – программа, управляющая средой командной строки,)
Очень важно, чтобы при входе в систему по учетной записи суперпользователя (он же корневой пользователь) указанный псевдоним устанавливается автоматически, поскольку малейшая ошибка суперпользователя может иметь катастрофические последствия.