Linux Lifehack

Горячие клавиши bash и терминала Linux: шпаргалка

Полный справочник горячих клавиш bash: управление процессами, навигация по строке, история команд, автодополнение и основы tmux.

Проверено: bash 5.x, zsh 5.x, Ubuntu 22.04/24.04

Bash-терминал — инструмент, где клавиатура важнее мыши. Знание сочетаний превращает медленный набор команд в быструю навигацию. Все сочетания работают в bash, большинство — в zsh и других оболочках.

Управление процессами в терминале

СочетаниеДействие
Ctrl + CПрервать выполняющуюся команду
Ctrl + ZПриостановить процесс (перевести в фон). Вернуть: fg
Ctrl + DВыйти из оболочки / закрыть соединение (EOF)
Ctrl + SЗаморозить вывод в терминале
Ctrl + QРазморозить вывод (после Ctrl+S)
Внимание: Ctrl+D закрывает текущую сессию bash/SSH. В SSH-сессии — отключает от сервера. Не путать с Ctrl+C.

Навигация по строке ввода

СочетаниеДействие
Ctrl + AПерейти в начало строки
Ctrl + EПерейти в конец строки
Ctrl + ←/→ (Alt+B/F)Прыжок на слово назад / вперёд
Ctrl + UУдалить всё от курсора до начала строки
Ctrl + KУдалить всё от курсора до конца строки
Ctrl + WУдалить слово перед курсором
Ctrl + YВставить последнее удалённое (Yank)
Ctrl + LОчистить терминал (аналог команды clear)
Совет: Ctrl+U + Ctrl+Y — быстрый способ «сохранить» текущую команду, ввести другую, а потом вернуть сохранённую.

История команд

СочетаниеДействие
↑ / ↓Предыдущая / следующая команда в истории
Ctrl + RПоиск по истории команд (обратный инкрементальный)
Ctrl + GВыйти из режима поиска (Ctrl+R) без выполнения
!!Повторить последнюю команду
!sshВыполнить последнюю команду, начинавшуюся с ssh
!$Последний аргумент предыдущей команды
Alt + .Вставить последний аргумент предыдущей команды
# Пример Alt + . (или !$)
cd /etc/nginx/sites-available   # перешли в директорию
ls !$                            # ls /etc/nginx/sites-available

Автодополнение

СочетаниеДействие
TabДополнить команду / путь / имя файла
Tab TabПоказать все варианты дополнения
Alt + ?Показать возможные дополнения без Tab Tab

Многозадачность в терминале

СочетаниеДействие
command &Запустить команду в фоне
jobsСписок фоновых задач
fg %NВернуть задачу N на передний план
bg %NПродолжить задачу N в фоне
# Практический пример: запустить ping в фоне, продолжить работу
ping 8.8.8.8 &
# [1] 12345

# Посмотреть фоновые задачи
jobs
# [1]+  Running   ping 8.8.8.8 &

# Завершить
kill %1

tmux: горячие клавиши (если установлен)

tmux позволяет сохранять сессии и работать в нескольких окнах одного SSH-соединения. Префикс по умолчанию: Ctrl+B

СочетаниеДействие
Ctrl+B → CСоздать новое окно
Ctrl+B → N / PСледующее / предыдущее окно
Ctrl+B → %Разделить панель вертикально
Ctrl+B → "Разделить панель горизонтально
Ctrl+B → СтрелкиПеремещение между панелями
Ctrl+B → DОтсоединиться от сессии (сессия остаётся)
tmux attachВернуться к отсоединённой сессии
Совет: tmux attach -t 0 возвращает к нулевой сессии. Если открыли ssh, запустили долгую операцию и соединение упало — процесс в tmux продолжает работать.

Итог

Три сочетания, которые меняют работу в терминале сразу: Ctrl+R (поиск истории), Ctrl+A/E (начало/конец строки), Tab (автодополнение). Остальные приходят с практикой.