Добавить в цитаты Настройки чтения

Страница 8 из 113

Таблица 4.1. Групповые символы

Групповой символ

Соответствует

*

Любая последовательность любых символов

?

Любой один символ

[символы]

Любой один символ из указанного множества символов

[!символы]

Любой один символ, не принадлежащий указанному множеству символов

[[:класс:]]

Любой один символ, принадлежащий указанному классу

В табл. 4.2 представлены наиболее часто используемые классы символов.

Таблица 4.2. Наиболее часто используемые классы символов

Класс символов

Соответствует

[:alnum:]

Любой алфавитно-цифровой символ

[:alpha:]

Любой алфавитный символ

[:digit:]

Любой цифровой символ

[:lower:]

Любая буква в нижнем регистре

[:upper:]

Любая буква в верхнем регистре

диапазоны символов

Если у вас уже есть опыт работы с другим Unix-подобным окружением или вам приходилось читать другие книги по этой теме, вы встречали форму записи диапазонов символов [A-Z] или [a-z]. Это традиционные для Unix формы записи, и они прекрасно работают в старых версиях Linux. Более того, они все еще работают в новых версиях, но будьте очень осторожны при их использовании, потому что они не всегда дают ожидаемый результат без правильной настройки. А вообще, старайтесь избегать их и использовать классы символов.

Групповые символы позволяют конструировать сложные критерии выбора имен файлов. В табл. 4.3 перечислены некоторые примеры шаблонов и их соответствия.

Таблица 4.3. Примеры использования групповых символов

Шаблон

Соответствует

*

Все имена файлов

g*

Все имена файлов, начинающиеся с символа «g»

b*.txt

Все имена файлов, начинающиеся с символа «b», за которым следует любое число других символов, и заканчивающиеся на «.txt»

Data???

Все имена файлов, начинающиеся с символов «Data», за которыми следуют ровно три любых символа

[abc]*

Все имена файлов, начинающиеся с символа «a», «b» или «c»

BACKUP.[0-9][0-9][0-9]

Все имена файлов, начинающиеся с символов «BACKUP.», за которыми следуют ровно три цифровых символа

[[:upper:]]*

Все имена файлов, начинающиеся с буквы в верхнем регистре

[![:digit:]]*

Все имена файлов, не начинающиеся с цифры

*[[:lower:]123]

Все имена файлов, заканчивающиеся буквой в нижнем регистре или цифрой «1», «2» или «3»

Групповые символы можно использовать с любыми командами, принимающими имена файлов в виде аргументов, но подробнее об этом мы поговорим в главе 7.

групповые символы также действуют в графическом интерфейсе

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

• В Nautilus (диспетчер файлов для GNOME) можно выбирать файлы с помощью диалога Edit (Правка) —> Select Pattern (Выделить по шаблону). Просто введите шаблон для выбора файлов с групповыми символами, и в текущем каталоге будут выделены файлы, соответствующие шаблону.

• В некоторых версиях Dolphin и Konqueror (диспетчеры файлов для KDE) групповые символы можно вводить непосредственно в адресную строку. Например, если понадобится увидеть все файлы с именами, начинающимися с буквы «u» в нижнем регистре, в каталоге /usr/bin, просто введите в адресной строке текст: /usr/bin/u*, и вы получите желаемый результат.

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



mkdir — создание каталогов

Команда mkdir используется для создания каталогов. Вызывается она следующим образом:

mkdir каталог...

Примечание к форме записи: В этой книге три точки в описании команды, следующие за аргументом (как в примере выше), говорят о том, что аргументов может быть несколько; то есть в данном случае команда

mkdir dir1

создаст один каталог с именем dir1, а команда

mkdir dir1 dir2 dir3

создаст три каталога с именами dir1, dir2 и dir3.

cp — копирование файлов и каталогов

Команда cp копирует файлы и каталоги. Ее можно использовать двумя разными способами:

cp item1 item2

чтобы скопировать один файл или каталог item1 в файл или каталог item2, и

cp элемент... каталог

чтобы скопировать несколько элементов (файлов или каталогов) в указанный каталог.

В табл. 4.4 и 4.5 перечислены некоторые параметры (короткие и эквивалентные им длинные), наиболее часто используемые с командой cp.

Таблица 4.4. Параметры команды cp

Параметр

Значение

-a, --archive

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

-i, --interactive

Запрашивать у пользователя подтверждение перед пере­записью существующего файла. Если этот параметр отсут-

ствует, команда cp просто перезапишет существующие файлы

-r, --recursive

Рекурсивно копировать каталоги и их содержимое. Это обязательный параметр (или параметр -a) при копировании каталогов

-u, --update

При копировании файлов из одного каталога в другой копировать только файлы, отсутствующие в каталоге назначения или более новые

-v, --verbose

Выводить информационные сообщения в процессе копиро-

вания

Таблица 4.5. Примеры использования команды cp

Команда

Результат

cp file1 file2

Скопирует file1 в file2. Если file2 существует, он будет затерт новым файлом file1. Если file2 отсутствует, он будет создан

cp -i file1 file2

То же, что и выше, но если файл file2 существует, у пользователя будет запрошено подтверждение перед перезаписью файла

cp file1 file2 dir1

Скопирует file1 и file2 в каталог dir1. Каталог dir1 должен существовать

cp dir1/* dir2

С использованием группового символа. Скопирует все файлы из каталога dir1 в каталог dir2. Каталог dir2 должен существовать

cp -r dir1 dir2

Скопирует каталог dir1 (и все его содержимое) в каталог dir2. Если каталог dir2 не существует, он будет создан и заполнен содержимым каталога dir1

mv — перемещение и переименование файлов

Команда mv выполняет операции перемещения и переименования файлов в зависимости от особенностей использования. В любом случае исходный файл исчезает после операции. Команда mv используется почти так же, как команда cp:

mv item1 item2

перемещает или переименовывает файл или каталог item1 в item2.

mv элемент... каталог

перемещает один или более элементов из одного каталога в другой.

Команда mv поддерживает множество тех же параметров, что и команда cp, как показано в табл. 4.6 и 4.7.

Таблица 4.6. Параметры команды mv

Параметр

Значение

-i, --interactive

Запрашивать у пользователя подтверждение перед перезаписью существующего файла. Если этот параметр отсутствует, ­команда mv просто перезапишет существующие файлы