Введение в систему команд Linux Конфигурирование системы Linux Периферийные устройства в Linux

Введение в оболочки Linux Red Hat

Хронологический список

Идея, положенная в основу этого средства, крайне проста. После ввода каждой команды (после нажатия Enter, а не Ctrl+C), последняя заносится в список, из которого команды можно извлекать в порядке, обратном вводу.

Простейший способ доступа к хронологическому списку - просмотр его записей нажатием клавиши со стрелкой вверх, пока не будет найдена нужная команда. У хронологического списка есть два основных назначения: поиск ошибочно введенных команд и повторный ввод команд.

Рассмотрим первое. Предположим, вы предприняли попытку просмотреть содержимое файла testf ile, для чего ввели команду

$ moer testfile

После нажатия Enter, на экране появится сообщение об ошибке.

bash: moer: command not found.

Для быстрого исправления ситуации достаточно вернуть команду в командную строку нажатием клавиши со стрелкой вверх, исправить moer на more (воспользовавшись функциями редактирования командной строки) и нажать Enter.

Другая ситуация - конфигурирование некоторой программы. При этом обычно приходится несколько раз подряд редактировать конфигурационный файл и запускать программу. А для таких повторов нет средства лучше хронологического списка.

Существует быстрый способ доступа к хронологическому списку - при помощи восклицательного знака (!). Если ввести восклицательный знак с несколькими следующими за ним начальными буквами одной из команд из хронологического списка, то эта команда будет выполнена (будет повторено последнее обращение к ней).

Например, если ранее была выполнена команда

$ ps aux | grep httpd | more

ее выполнение можно повторять вводом

$ !ps

если только после нее не вводилась другая команда, начинавшаяся с "ps". После ввода ! ps выполняется последняя команда из хронологического списка, начинающаяся с "ps".

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

Из перечисленных комбинаций наиболее интересна Ctrl+R. Это динамичный, интерактивный обратный поиск в списке. По мере набора строки Bash ищет в хронологическом списке команду с совпадающим фрагментом, введенную последней. Чем длиннее набранная строка, тем меньше область поиска нужной команды.

Предположим, необходимо ввести уже вводившуюся сложную поисковую команду. Включите режим поиска, нажав Ctrl+R. На экране появится строка интерактивного поиска.

(reverse-i-search)' ':

Табл. 16.2. Функциональные комбинации клавиш для хронологического списка

Комбинация клавиш

Функция

Ctrl+P Ctrl+N Esc, < Esc,>

Ctrl+R

 

Ctrl+O

Переход к предыдущей команде в хронологическом списке

Переход к следующей команде в хронологическом списке

Переход к началу хронологического списка (команде, введенной первой) Переход в конец хронологического списка (к команде, введенной последней) Поиск по списку в обратном направлении Выполнение текущей команды хронологического списка и вывод ( следующей для редактирования или выполнения

По мере набора символов в этой строке Bash отыскивает в хронологическом списке команду с совпадающим фрагментом, введенную последней. Например, набор одной буквы "f" может дать следующий результат.

(reverse-i-search)`f: pico info/.signature

Если продолжить и набрать "fi", можно получить

(reverse-i-search)`fi': rm -rf StarOffice-3.1

Наконец, после набора "fin", получаем то, что искали:

(reverse-i-search)`fin': find / -name 'foo' -print

Для ввода найденной команды достаточно нажать Enter.

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