Иллюстрированный самоучитель по Linux

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

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

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.