Командная строка Linux
Шрифт:
Любой один символ, принадлежащий указанному классу
В табл. 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
При копировании файлов из одного каталога в другой копировать только файлы, отсутствующие в каталоге назначения или более новые