Командная строка Linux. Полное руководство - [11]
В табл. 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» |
групповые символы также действуют в графическом интерфейсе
Групповые символы имеют особую ценность не только потому, что часто используются в командной строке, но и потому, что поддерживаются некоторыми диспетчерами с графическим интерфейсом.
• В 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 существует, у пользователя будет запрошено подтверждение перед перезаписью файла |