Основы операционных систем. Практикум

Простейшие команды работы с файлами – cp, rm, mkdir, mv


Для нормальной работы с файлами необходимо не только уметь создавать файлы, просматривать их содержимое и перемещаться по логическому дереву файловой системы. Нужно уметь создавать собственные поддиректории, копировать и удалять файлы, переименовывать их. Это минимальный набор операций, не владея которым нельзя чувствовать себя уверенно при работе с компьютером.

Для создания новой поддиректории используется команда mkdir (сокращение от make directory). В простейшем виде команда выглядит следующим образом:

mkdir имя_директории

где имя_директории – полное или относительное имя создаваемой директории. У команды mkdir имеется набор опций, описание которых можно просмотреть с помощью утилиты man.

Команда cp

Синтаксис команды

cp файл_источник файл_назначения cp файл1 файл2 ... файлN дир_назначения cp -r дир_источник дир_назначения cp -r дир1 дир2 ... дирN дир_назначения

Описание команды

Настоящее описание является не полным описанием команды cp, а кратким введением в ее использование. Для получения полного описания команды обратитесь к UNIX Manual.

Команда cp в форме

cp файл_источник файл_назначения

служит для копирования одного файла с именем файл_источник в файл с именем файл_назначения.

Команда cp в форме

cp файл1 файл2 ... файлN дир_назначения

служит для копирования файла или файлов с именами файл1, файл2, ... файлN в уже существующую директорию с именем дир_назначения под своими именами. Вместо имен копируемых файлов могут использоваться их шаблоны.

Команда cp в форме



cp -r дир_источник дир_назначения

служит для рекурсивного копирования одной директории с именем дир_источник в новую директорию с именем дир_назначения. Если директория дир_назначения уже существует, то мы получаем команду cp в следующей форме

cp -r дир1 дир2 ... дирN дир_назначения

Такая команда служит для рекурсивного копирования директории или директорий с именами дир1, дир2, ... дирN в уже существующую директорию с именем дир_назначения под своими собственными именами. Вместо имен копируемых директорий могут использоваться их шаблоны.

<
Для копирования файлов может использоваться команда cp (сокращение от copy). Команда ср умеет копировать не только отдельный файл, но и набор файлов, и даже директорию целиком вместе со всеми входящими в нее поддиректориями (рекурсивное копирование). Для задания набора файлов могут использоваться шаблоны имен файлов. Точно так же шаблон имени может быть использован и в командах переименования файлов и их удаления, которые мы рассмотрим ниже.



Шаблоны имен файлов

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

* – соответствует всем цепочкам литер, включая пустую;

? – соответствует всем одиночным литерам;

[...] – соответствует любой литере, заключенной в скобки. Пара литер, разделенных знаком минус, задает диапазон литер.

Так, например, шаблону *.c удовлетворяют все файлы текущей директории, чьи имена заканчиваются на .c. Шаблону [a-d]* удовлетворяют все файлы текущей директории, чьи имена начинаются с букв a, b, c, d. Существует одно ограничение на использование метасимвола * в начале имени файла, например, в случае шаблона *c. Для таких шаблонов имена файлов, начинающиеся с символа точка, считаются не удовлетворяющими шаблону.

Для удаления файлов или директорий применяется команда rm (сокращение от remove). Если вы хотите удалить один или несколько регулярных файлов, то простейший вид команды rm будет выглядеть следующим образом:

rm файл1 файл2 ... файлN

где файл1, файл2, ... файлN – полные или относительные имена регулярных файлов, которые требуется удалить. Вместо имен файлов могут использоваться их шаблоны. Если вы хотите удалить одну или несколько директорий вместе с их содержимым (рекурсивное удаление), то к команде добавляется опция -r:



rm -r дир1 дир2 ... дирN

где дир1, дир2, ... дирN – полные или относительные имена директорий, которые нужно удалить. Вместо непосредственно имен директорий также могут использоваться их шаблоны. У команды rm есть еще набор полезных опций, которые описаны в UNIX Manual. На самом деле процесс удаления файлов не так прост, как кажется на первый взгляд. Более подробно он будет рассмотрен нами на семинарах 11–12, когда мы будем обсуждать операции над файлами в операционной системе UNIX.



Команда mv

Синтаксис команды

mv имя_источника имя_назначения mv имя1 имя2 ... имяN дир_назначения

Описание команды

Настоящее описание не является полным описанием команды mv, а служит кратким введением в ее использование. Для получения полного описания команды обращайтесь к UNIX Manual.

Команда mv в форме

mv имя_источника имя_назначения

служит для переименования или перемещения одного файла (неважно, регулярного или директории) с именем имя_источника в файл с именем имя_назначения. При этом перед выполнением команды файла с именем имя_назначения существовать не должно.

Команда mv в форме

mv имя1 имя2 ... имяN дир_назначения

служит для перемещения файла или файлов (неважно, регулярных файлов или директорий) с именами имя1, имя2, ... имяN в уже существующую директорию с именем дир_назначения под собственными именами. Вместо имен перемещаемых файлов могут использоваться их шаблоны.

Командой удаления файлов и директорий следует пользоваться с осторожностью. Удаленную информацию восстановить невозможно. Если вы системный администратор и ваша текущая директория – это корневая директория, пожалуйста, не выполняйте команду rm -r *!

Для переименования файла или его перемещения в другой каталог применяется команда mv (сокращение от move). Для задания имен перемещаемых файлов в ней тоже можно использовать их шаблоны.


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