О чём нужно помнить, работая в Bash
- В Bash работает история вводимых команд. При открытии терминала с Bash, история загружается из файла ~/.bash_history в буфер терминала. Далее происходит работа именно с этим буфером, который находится в памяти. После завершения сеанса, история из буфера записывается в файл.
- В течении сеанса Bash, работает история изменений в командной строке и поддерживается операция Undo.
- В текстовом сеансе Bash (без иксов) работают операции с буфером обмена: вырезать\вставить.
Описание сочетаний
Обозначения:
С или ^ - обозначается клавиша (Ctrl) Control;
M - обозначается клавиша Alt (клавишей Alt сейчас эмулируется ранее существующая в первых терминалах клавиша Meta. До сих пор в мануалах пишут именно Meta, а не Alt); Если на клавиатуре нет клавиши Alt, её может заменить кратковременное нажатие на Esc. Например: Alt-b можно ввести так: нажать Esc, отпустить Esc, нажать на b
С-а - означает сочетание Ctrl+a;
M-a - означает сочетание Meta+a;
| Сочетание | Описание |
|---|---|
| Перемещение курсора в строке | |
| C-b | На символ назад (backward) |
| C-b | На символ назад (backward) |
| M-f | На слово вперёд (forward) |
| M-b | На слово назад (backward) |
| C-e | Переход в конец строки (от end) |
| C-a | Переход в начало строки |
| Редактирование строки | |
| C-w или M-BackSpace | Удалить до границы слова назад |
| M-d | Удалить от курсора до границы слова вперёд |
| C-k | Удалить от курсора до конца строки |
| C-u | Удалить от курсора до начала строки |
| C-t | Поменять местами два соседних символа |
| M-t | Поменять местами два соседних слова |
| M-l | Перевести слово перед курсором в нижний регистр (от lower) |
| M-u | Перевести слово перед курсором в верхний регистр (от UPPER) |
| M-c | Капитализировать (написать с большой буквы) слово перед курсором. Если курсор находится в середине слова, то капитализируется буква, на которой стоит курсор. (от Capitalize) |
| История | |
| C-n | Вызвать следующую строку из истории (от next). Аналог нажатия на клавишу курсора "стрелка вниз". |
| C-p | Вызвать предыдущую строку из истории (от previous). Аналог нажатия на клавишу курсора "стрелка вверх". |
| C-r | Поиск от конца истории команд к началу (reverse search - обратный поиск) |
| C-_ или C-Shift-- | Откатить последнее изменение в командной строке |
| M-. | Подставить на место курсора последний аргумент предыдущей команды; следующие нажатия "проматывают" последние аргументы назад по истории |
| Системные комбинации | |
| C-c | Послать выполняющейся программе сигнал 2) SIGINT |
| C-d | Закрыть стандартный поток ввода STDIN у выполняющейся программы |
| C-z | Переводит исполняющуюся программу в фон и "отцепляет" терминал от неё. |
Прим.
- При использовании комбинации C-r интерпретатор выведет вместо стандартного приглашения, запрос на фразу: (reverse-i-search) , нужно начать набирать первые буквы команды, а сам интерпретатор дополнит её, затем, если команда именно та что нужно, пользователь нажимает на Enter. Если пользователь продолжит ввод дальше, интерпретатор будет идти вверх по истории в поисках когда-то набранной команды. Поиск команды начинается с конца истории.
Источники информации
- Изначально, несколько комбинаций взято из журнала LinuxFormat за июнь 2011 года (LXF145).
- man bash
- Курсы по Linux на http://www.specialist.ru/