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 (автодополнение). Остальные приходят с практикой.