22 ноября 2024 Bash bash hotkeys history comman edit comman
Вчера получил комментарий, о том, что в Баше есть Ctrl+l для быстрой очистки буфера и я понял, что пользуюсь только хоткеями навигации по строке и поиска. Так вот они эти быстрые клавиши

Команды для перемещения по командной строке
| Команда | Описание |
|---|---|
| Ctrl + a | Перейти в НАЧАЛО строки команд. |
| Ctrl + e | Перейти в КОНЕЦ строки команд. |
| Ctrl + b | Переместить курсор на один символ назад. |
| Ctrl + f | Переместить курсор на один символ вперед. |
| Alt + f | Переместить курсор ВПЕРЕД на одно слово. |
| Alt + b | Переместить курсор НАЗАД на одно слово. |
| Ctrl + xx | Переключение между началом строки и текущей позицией курсора. |
| Ctrl + ] + x | Где x — любой символ, переместить курсор к следующему вхождению x. |
| Alt + Ctrl + ] + x | Где x — любой символ, переместить курсор к предыдущему вхождению x. |
Редактирование и контроль командной строки
| Команда | Описание |
|---|---|
| Ctrl + d | Удалить символ под курсором. |
| Ctrl + h | Удалить символ перед курсором. |
| Ctrl + u | Удалить все до курсора (вырезать). |
| Ctrl + k | Удалить все после курсора (вырезать). |
| Ctrl + w | Удалить слово перед курсором. |
| Alt + d | Удалить слово от курсора. |
| Ctrl + y | Вставить вырезанный текст. |
| Ctrl + i | Автодополнение команды, как клавиша Tab. |
| Ctrl + l | Очистить экран (аналог команды clear). |
| Ctrl + c | Прервать выполняющийся процесс. |
| Ctrl + d | Выйти из оболочки (если строка пуста). |
| Ctrl + z | Перевести текущий процесс в фоновый режим. |
| Ctrl + _ | Отменить последнее действие. |
| Ctrl + x Ctrl + u | Отменить последнее изменение (аналог Ctrl + _). |
| Ctrl + t | Поменять местами два символа перед курсором. |
| Esc + t | Поменять местами два слова перед курсором. |
| Alt + t | Поменять местами текущее и предыдущее слово. |
| Alt + [Backspace] | Удалить ПРЕДЫДУЩЕЕ слово. |
| Alt + ? | Показать список файлов/папок в текущем пути. |
| **Alt + *** | Вывести все файлы/папки текущего пути как параметры. |
| Alt + . | Вывести ПОСЛЕДНИЙ АРГУМЕНТ предыдущей команды. |
| Alt + c | Сделать первую букву слова заглавной. |
| Alt + u | Сделать все буквы слова заглавными. |
| Alt + l | Сделать все буквы слова строчными. |
| ~[Tab][Tab] | Показать всех пользователей. |
| $[Tab][Tab] | Показать все системные переменные. |
| @[Tab][Tab] | Показать все записи из /etc/hosts. |
| [Tab] | Автодополнение. |
| cd - | Перейти в ПРЕДЫДУЩУЮ рабочую директорию. |
Работа с историей баша
| Команда | Описание |
|---|---|
| Ctrl + r | Искать команду в истории (обратный поиск). |
| Ctrl + s | Искать команду в истории (прямой поиск). |
| Ctrl + p | Предыдущая команда (аналог стрелки вверх). |
| Ctrl + n | Следующая команда (аналог стрелки вниз). |
| Ctrl + o | Выполнить команду, найденную через Ctrl + r. |
| Ctrl + g | Выйти из режима поиска в истории. |
| !! | Выполнить ПРЕДЫДУЩУЮ команду (например, sudo !!). |
| !vi | Выполнить ПРЕДЫДУЩУЮ команду, начинающуюся с vi. |
| !vi:p | Вывести команду из истории, начинающуюся с vi. |
| !n | Выполнить команду под номером n в истории. |
| !$ | Последний аргумент предыдущей команды. |
| !^ | Первый аргумент предыдущей команды. |
| ^abc^xyz | Заменить первое вхождение abc на xyz в последней команде и выполнить её. |
| Alt + < | Перейти к первой строке в истории. |
| Alt + > | Перейти к последней строке в истории. |
Завершение задач
Список задач можно вывести с помощью команды jobs. Для завершения задачи используйте:
kill %n
Где n — номер задачи. Например:
kill %1