Привет! Писал как-то давно темку про screen – мега-удобная штука для администрирования серверов. Так вот, tmux на screen очень похож, прям очень-преочень.
Давайте покажу основные фишки и мы попробуем поработать.
Установка
Я не зря выделил под установку tmux целый раздел, ведь делается это всё …. за пару секунд одной командой:
# yum install tmux -y
Готово. Даже проще, чем в Windows (с его банальными Далее-Далее-Готово).
Возможности
Возможности богатые. Сразу после установки он готов к работе. Нужно только создать новую сессию [с именем] командой:
# tmux new [-s name]
или подключиться к уже имеющейся [по имени]:
# tmux attach [-t name]
Можно традиционно ознакомиться с мануалом (man tmux), но мы будем подходить к нему интуитивно. И скажу сразу, интуитивно разобраться что да как тут проблематично.
Итак, команды управления здесь выглядят весьма специфично:
- Ctrl+b c – создать новое окно. Сразу поясню, нажимаем <Ctrl+b>, отжимаем и сразу нажимаем вторую кнопку – <c>. Придётся потренироваться и регулярно практиковаться, чтобы достичь высот.
- Ctrl+b 0-9 – перейти в окно по номеру от 0 до 9. В нижней части экрана есть ряд пронумерованных вкладок – это наши окна.
- Ctrl+b w – отобразить список окон, можно выбрать любое и перейти в него, нажав Enter.
- Ctrl+b , – переименовать текущее окно (чтобы удобно было искать его в толще других).
- Ctrl+b “ – разделить окно по горизонтали.
- Ctrl+b % – разделить окно по вертикали.
- Ctrl+b вниз/вверх/влево/вправо – переместить курсов в соответствующее окно.
- Ctrl+b x – закрыть текущее окно.
Всяких фишек безумно много и я не вижу смысла перепечатывать целый мануал. Просто почитайте, если интересно. Мне этих хватает с головой.
Ещё одна особенность tmux – если подключились к серверу по ssh и подключились к сессии tmux, то в случае разрыва связи можно подключиться к сессии вновь на то же самое место, да и процессы в случае разрыва никуда не денутся, продолжат выполнение в фоне.
И ещё одна фишка, второй (третий, пятый) пользователь может войти на сервер по ssh и подключиться к той же самой сессии tmux и… можно организовать совместную работу в консоли или по крайней мере видеть то, что делает другой админ… Странно всё это, но вдруг кому-нибудь не хватает… А то потом появляются запросы типа “смотреть как админят Linux без регистрации и смс“.
Типовой сценарий
Ну чтож, обещал показать, как настраивать tmux… немножко. Покажу.
- Итак, запускаем новую сессию tmux;
# tmux new -s test
- Запускаем в 0-ом окне top
# top
Переименуем в TOP
Ctrl+b ,
TOP
<ENTER> - Создаём новое окно
Ctrl+b c
- Делим окно по горизонтали, тут будут выводы логов
Ctrl+b ”
В верхней запускаем постоянный вывод последних записей лог-файла:
# tail -f /var/log/nginx/site.log
Ctrl+b вниз
Переход вниз. В нижней части запускаем постоянный вывод последних записей лог-файла fail2ban:
# tail -f /var/log/fail2ban.log
Переименуем в LOG - Создаём новое окно
Ctrl+b c
Его оставим для консоли - Создаём ещё окно и там запустим Midnight Commander, к примеру.
Пока хватит… Вот что у меня получилось:
При желании можно открыть ещё много окон, разделений экрана и т.д. Кстати, я подключился с другого терминала к этой же сессии tmux и вижу всё то же самое. Если один пользователь переключает окна – то они переключаются и на втором.
Comments: