[me@linuxbox ~]$
Первое нажатие комбинации CTRL+R:
(reverse-i-search)`':
Приглашение к вводу изменится, показывая, что выполняется поступательный поиск в обратном порядке. Под словами «в обратном порядке» подразумевается, что поиск выполняется от «текущего момента» до некоторого момента в прошлом. Далее мы начинаем ввод искомого текста, в данном примере /usr/bin:
(reverse-i-search)`/usr/bin': ls -l /usr/bin > ls-output.txt
Механизм поиска сразу же возвращает результат. Теперь, чтобы выполнить найденную команду, необходимо нажать ENTER, или вы можете скопировать команду в командную строку для дальнейшего редактирования, нажав CTRL+J. Давайте скопируем ее. Нажмите CTRL+J:
[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt
Механизм поиска вернет управление, командная строка заполнится и будет готова для выполнения!
В табл. 8.5 перечислены некоторые комбинации клавиш, используемые для манипуляций со списком истории команд.
Таблица 8.5. Команды для работы с историей
Клавиша
|
Действие
|
CTRL+P
|
Переход к предыдущей записи в истории. Действует так же, как клавиша со стрелкой вверх
|
CTRL+N
|
Переход к следующей записи в истории. Действует так же, как клавиша со стрелкой вниз
|
ALT+<
|
Переход в начало (к первой записи) списка истории
|
ALT+>
|
Переход в конец (к последней записи) списка истории
|
CTRL+R
|
Инкрементальный поиск в обратном порядке. Поиск выполняется поступательно, от текущей записи вверх по списку истории
|
ALT+P
|
Поиск в обратном порядке, не инкрементальный. При использовании этого вида поиска введите искомую строку и нажмите ENTER, и только после этого будет выполнен фактический поиск
|
ALT+N
|
Поиск в прямом порядке, не поступательный
|
CTRL+O
|
Выполнить текущую команду в списке истории и перейти к следующей. Эту комбинацию удобно использовать, если требуется повторно выполнить последовательность команд из списка истории
|
Подстановка записей истории
Командная оболочка поддерживает специализированный вид подстановки — подстановку записей из списка истории при использовании символа !. Мы уже видели, как восклицательный знак, сопровождаемый числом, замещается записью из списка истории. Этот вид подстановки имеет несколько разновидностей (табл. 8.6).
Не используйте формы !строка и !?строка, если только вы абсолютно точно не знаете содержимого записей в списке истории.
Механизм подстановки записей истории поддерживает также другие комбинации, но эта тема становится слишком запутанной, и мы не станем перегружать себя лишней информацией. Желающие смогут обратиться к странице справочного руководства (man) для bash, в разделе «HISTORY EXPANSION». Загляните туда!
Таблица 8.6. Команды механизма подстановки записей истории
Последовательность
|
Действие
|
!!
|
Повторяет последнюю команду. Проще, пожалуй, нажать клавишу со стрелкой вверх и ENTER
|
!число
|
Повторяет команду из записи с указанным номером
|
!строка
|
Повторяет последнюю команду в списке истории, начинающуюся с указанной строки
|
!?строка
|
Повторяет последнюю команду в списке истории, содержащую указанную строку
|
script
В дополнение к истории команд в bash большинство дистрибутивов Linux включают программу script, которую можно использовать для записи в файлы целых сеансов работы с командной оболочкой. Базовый синтаксис команды:
script [файл]
где файл — это имя файла для записи. Если файл не будет указан, сохранение сеанса будет произведено в файл typescript. Полное описание параметров и возможностей программы можно найти на странице справочного руководства (man) для script.
В этой главе мы рассмотрели несколько приемов работы с клавиатурой, поддерживаемых командной оболочкой, с целью помочь истинным фанатам клавиатуры уменьшить объем работы. Я думаю, что потом, когда вы сроднитесь с командной строкой, вы сможете обратиться к этой главе, чтобы вспомнить описанные здесь приемы. А пока будем считать их необязательными, но потенциально полезными.
Операционные системы, следующие традициям Unix, отличаются от систем, следующих традициям MS-DOS, тем, что являются не только многозадачными, но и многопользовательскими.
Что это означает на самом деле? Это означает, что компьютером могут одновременно пользоваться несколько человек. Несмотря на то что обычно компьютер имеет всего одну клавиатуру и монитор, это обстоятельство не мешает совместному пользованию. Например, если компьютер подключен к локальной сети или к Интернету, удаленные пользователи смогут зайти на него через ssh (secure shell — безопасная командная оболочка) и выполнять операции. Фактически удаленные пользователи могут запускать приложения с графическим интерфейсом и получать изображение на удаленном дисплее. X Window System поддерживает такую возможность изначально.
Читать дальше