Tmux (Terminal multiplexer) — позволяет создавать несколько независимых терминальных сессий внутри одного подключения, разбивать экран на панели и — самое главное — отключаться от сессии, не прерывая запущенные в ней процессы.
Незаменим при работе по SSH: упал коннект — процессы продолжают работать, переподключился — всё на месте.
➡️ Основные концепции
— Session — независимая рабочая сессия. Живёт на сервере даже после отключения клиента.
— Window — вкладка внутри сессии. Аналог вкладки в браузере.
— Pane — панель внутри окна. Окно можно разбить на несколько панелей.
Все команды в tmux начинаются с префикса
Ctrl+B (по умолчанию).➡️ Работа с сессиями
# Создать новую сессию
tmux
# Создать сессию с именем
tmux new -s work
# Показать список сессий
tmux ls
# Подключиться к последней сессии
tmux attach
# Подключиться к конкретной сессии по имени
tmux attach -t work
# Переименовать сессию
tmux rename-session -t work devops
# Завершить сессию
tmux kill-session -t work
Отключиться от сессии (не завершая):
Ctrl+B, затем D (detach)➡️ Работа с окнами
Все комбинации после нажатия
Ctrl+B:c — создать новое окно
, — переименовать текущее окно
n — следующее окно
p — предыдущее окно
0-9 — переключиться на окно по номеру
& — закрыть текущее окно
w — список окон с предпросмотром
➡️ Работа с панелями
Разбить экран на панели — удобно для одновременного просмотра логов и выполнения команд:
% — разбить вертикально (left | right)
" — разбить горизонтально (top / bottom)
←→↑↓ — переключаться между панелями
x — закрыть текущую панель
z — развернуть панель на весь экран / свернуть обратно
{ — переместить панель влево
} — переместить панель вправо
Tmux решает главную боль работы по SSH: потерял соединение — потерял всё. С ним процессы живут независимо от терминала, а рабочее пространство можно разбить под любую задачу — логи, мониторинг, деплой — всё в одном окне.
#линуксятина
