Основы работы в ОС Linux


Редактирование командной строки. История команд - часть 2


/p>

Примечание

Если вы работаете не просто в оболочке bash, а запустили программу Midnight Commander, то такие клавиши как <Стрелка вправо>, <Стрелка влево>, <Home>, <End>, <Del> не могут использоваться так, как указано в приведенной таблице, поскольку они используются для перемещения подсветки в текущей панели. Но указанные выше в скобках комбинации символьных клавиш с клавишами <Ctrl> и <Esc> по-прежнему действуют для редактирования командной строки.

Список возможных команд не ограничивается только приведенными в табл. 3.2, но из-за ограниченности объема книги невозможно привести здесь полный перечень клавиатурных команд. Для получения дополнительной информации воспользуйтесь командой info bash.

Заметим, что оболочка bash имеет встроенную подпрограмму, предназначенную для облегчения ввода команд в командной строке. Эта подпрограмма вызывается по клавише <Tab> после того, как вы уже ввели некоторое число символов. Если эти символы являются началом названия одной из стандартных команд, которые известны оболочке, то возможны два варианта реакции оболочки на нажатие клавиши <Tab>. Если по введенным символам команда определяется однозначно, оболочка просто добавляет окончание команды в командную строку. Если однозначно восстановить имя команды по введенным символам невозможно, то выдается список возможных вариантов продолжения для того, чтобы пользователь мог ввести еще несколько символов, позволяющих однозначно завершить ввод команды нажатием клавиши <Tab>.

Если вы попробуете ввести символ табуляции в пустой командной строке, то после первого ввода вы получите только звуковой сигнал, а после второго - примерно следующее сообщение: "There are 1217 possibilities. Do you really wish to see them all? (y or n)" ("Возможны 1217 вариантов завершения. Вы действительно хотите увидеть их все?").

Если ввести символ табуляции после того, как введена одна из команд и пробел, оболочка предполагает, что вы ищете имя файла, который должен вводиться как параметр команды, и выдает в качестве подсказки список файлов текущего каталога. Если же достаточная часть имени файла введена, то заканчивается ввод этого имени в командную строку. Аналогичным образом можно пытаться угадывать окончания переменных окружения, если вместо клавиши <Tab> воспользоваться комбинацией <Esc>+<$>.

Для практической работы с оболочкой также полезно знать, что оболочка запоминает некоторое число введенных команд (по умолчанию 1000, это значение задается в переменной HISTSIZE; см. лекции 5) и позволяет вызывать их путем выбора из списка - так называемой истории команд. Историю команд можно просмотреть, введя в командной строке history (здесь вы сможете воспользоваться комбинациями клавиш <Shift>+<PgUp> и <Shift>+<PgDown>, чтобы просмотреть то, что выдаст эта команда). История команд сохраняется в файле, определяемом переменной HISTFILE (обычно $HOME/.bash_history). Для работы с историей команд в оболочке bash используются следующие комбинации клавиш.

Таблица 3.3. Клавиши для управления историей команд

КлавишаОписание реакции системы
<?> или <Ctrl>+<P>Переход к предыдущей команде в списке (движение назад по списку)
<?> или <Ctrl>+<n>Переход к следующей команде в списке (движение вперед по списку)
<PgUp>Переход к (вызов в командную строку) самой первой команде, сохраненной в истории команд
<!>, <N>Выполняется (без нажатия клавиши <Enter>) n-ная команда из списка истории команд
<!>, <->, <N>Выполняется n-ая от конца списка команда
<!>, строка символовВыполняется команда, имя которой начинается на строку символов (поиск нужной команды осуществляется движением в обратном порядке от конца файла истории и выполняется первая попавшаяся команда, которая начинается на строку символов)
<Ctrl>+<O>То же что нажатие клавиши <Enter>, затем отображается очередная команда из файла истории




Начало  Назад  Вперед



Книжный магазин