Здесь будут представлены следующие команды:
• clear — очищает экран.
• history — выводит содержимое истории команд.
Редактирование командной строки
Для поддержки операций редактирования командной строки bash использует библиотеку (коллекцию подпрограмм, которую могут использовать разные программы) с именем Readline. Мы уже видели некоторые из них. Например, нам знакомы клавиши со стрелками влево и вправо, перемещающие курсор, но существует еще целое множество других операций. Рассматривайте их как дополнительные инструменты, которые можно использовать в работе. Необязательно стремиться изучить их все, но многие из них весьма практичны. Выбирайте те, что вам понравятся.
ПРИМЕЧАНИЕ
Некоторые комбинации клавиш, описываемые далее (особенно те, что включают клавишу ALT), могут перехватываться графическим интерфейсом и использоваться для выполнения других функций. Однако все комбинации без исключения должны правильно работать в виртуальной консоли.
В табл. 8.1 перечислены комбинации клавиш, используемые для перемещения курсора.
Таблица 8.1. Команды перемещения курсора
Клавиша
|
Действие
|
CTRL+A
|
Перемещает курсор в начало строки
|
CTRL+E
|
Перемещает курсор в конец строки
|
CTRL+F
|
Перемещает курсор на один символ вперед; действует так же, как клавиша со стрелкой вправо
|
CTRL+B
|
Перемещает курсор на один символ назад; действует так же, как клавиша со стрелкой влево
|
ALT+F
|
Перемещает курсор на одно слово вперед
|
ALT+B
|
Перемещает курсор на одно слово назад
|
CTRL+L
|
Очищает экран и устанавливает курсор в левый верхний угол. То же самое делает команда clear
|
В табл. 8.2 перечислены комбинации клавиш для редактирования символов в командной строке.
Вырезание и вставка (удаление и возврат) текста
В документации к Readline используется термин killing and yanking (удаление и возврат), обозначающий операцию, которую обычно называют вырезанием и вставкой (cutting and pasting). В табл. 8.3 перечислены комбинации клавиш, выполняющие вырезание и вставку. Вырезанные элементы сохраняются в кольцевом буфере, который называется kill-ring (кольцо удалений).
Таблица 8.2. Команды редактирования текста
Клавиша
|
Действие
|
CTRL+D
|
Удаляет символ в позиции курсора
|
CTRL+T
|
Меняет местами два символа — в позиции курсора и предшествующий ему
|
ALT+T
|
Меняет местами два слова — в позиции курсора и предшествующий ему
|
ALT+L
|
Переводит в нижний регистр символы, начиная с символа в позиции курсора и до конца слова
|
ALT+U
|
Переводит в верхний регистр символы, начиная с символа в позиции курсора и до конца слова
|
Таблица 8.3. Команды вырезания и вставки
Клавиша
|
Действие
|
CTRL+K
|
Удаляет символы от позиции курсора до конца строки
|
CTRL+U
|
Удаляет символы от позиции курсора до начала строки
|
ALT+D
|
Удаляет символы от позиции курсора до конца текущего слова
|
ALT+BACKSPACE
|
Удаляет символы от позиции курсора до начала текущего слова. Если курсор находится в начале слова, удаляется предшествующее слово
|
CTRL+Y
|
Извлекает текст из кольцевого буфера удалений и вставляет его в позицию курсора
|
клавиша meta
Отважившиеся заглянуть в документацию к Readline, которая находится в разделе «READLINE», на странице справочного руководства (man) для bash, столкнутся с термином клавиша meta (meta key). На современных клавиатурах ей соответствует клавиша ALT, но так было не всегда.
В стародавние времена (до появления IBM-совместимых персональных компьютеров, но после появления Unix) персональные компьютеры не были так широко распространены. Иногда их заменяли устройства, называемые терминалами. Терминал — это коммуникационное устройство с текстовым дисплеем и клавиатурой, имеющее внутри столько электроники, сколько необходимо для отображения символов и перемещения курсора. Терминалы подключались (обычно посредством последовательного кабеля) к большому компьютеру или коммуникационной сети большого компьютера. В то время существовало очень много различных терминалов, имевших разные клавиатуры и дисплеи с разными функциональными возможностями. Так как все они поддерживали как минимум набор символов ASCII, разработчикам программного обеспечения, пишущим переносимые приложения, необходимо было прийти к общему знаменателю. В системах Unix применяется очень сложный способ использования терминалов и их разнообразных возможностей. Поскольку разработчики Readline не были уверены в наличии специализированной управляющей клавиши, они изобрели ее и назвали meta. На современных клавиатурах роль клавиши meta играет ALT, однако если вы все еще используете терминал (до сих пор поддерживаются в Linux!), можно просто нажать и отпустить клавишу ESC, и вы получите эффект нажатия и удержания клавиши ALT.
Читать дальше