Рейтинговые книги
Читем онлайн Командная строка Linux. Полное руководство - Уильям Шоттс

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 3 4 5 6 7 8 9 10 11 ... 93

Ответ прост: потому что они обладают мощностью и гибкостью. Несмотря на то что простые операции с файлами легко выполняются в диспетчере файлов с графическим интерфейсом, сложные задачи проще решать с помощью программ командной строки. Например, как скопировать файлы HTML из одного каталога в другой, причем только те, что отсутствуют в каталоге назначения или имеют более позднюю дату последнего изменения? Сделать это в диспетчере файлов очень сложно, но легко в командной строке:

cp -u *.html destination

Групповые символы

Прежде чем приступать к использованию обсуждаемых команд, необходимо сначала поговорить об одной особенности командной оболочки, которая делает эти команды такими мощными. Так как имена файлов используются в командной оболочке повсеместно, она поддерживает специальные символы, помогающие быстро определять группы имен файлов. Эти специальные символы называют групповыми символами (wildcards). Групповые символы (также известны как символы подстановки (globbing)) позволяют выбирать имена файлов по шаблону. В табл. 4.1 перечислены групповые символы и их соответствия.

Таблица 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 просто перезапишет существующие файлы

1 ... 3 4 5 6 7 8 9 10 11 ... 93
На этой странице вы можете бесплатно читать книгу Командная строка Linux. Полное руководство - Уильям Шоттс бесплатно.
Похожие на Командная строка Linux. Полное руководство - Уильям Шоттс книги

Оставить комментарий