Шпаргалка по работе с Tmux (терминальный мультиплексор)

в 18:28, , рубрики: bash, devops, shell, ssh, tmux, UNIX, Настройка Linux, Серверное администрирование

На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.

Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне.
Вместо нескольких окон терминала к серверу — вы можете использовать одно.
Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach)

Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.

1. Установка:

CentOS (нужен подключенный репо EPEL)
# yum install tmux

Fedora
# dnf install tmux

Ubuntu/Debian
# apt-get install tmux

2. Конфигурационные файлы (пользователя, системный):

~/.tmux.conf
/etc/tmux.conf

3. Работа с Tmux

Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.

Префикс (с него начинаются команды)
<C-b> (CTRL + b)

Новое окно (нажать CTRL+b, затем нажать с)
<C-b c>

Список окон
<C-b w> // переключиться курсором вверх-вниз

Переключение
<C-b n> // следующее окно
<C-b p> // предыдущее окно
<C-b 0> // переключиться на номер окна

Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.

Деление окна горизонтально
<C-b %>
либо команда
# tmux split-window -h

Деление окна вертикально
<C-b ">
либо команда
# tmux split-window -v

Переход между панелей
<C-b стрелки курсора>

Изменение размеров панелей
<C-b c-стрелки>

Закрытие окон
<C-b x> // нужно подтвердить y
либо
# exit

Отключение от сессии
<C-b d>
либо
# tmux detach

Список сессий
# tmux ls

Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t session1 // подключение к сессии session1

Выбрать сессию
<C-b s>

Завершение сессии
# tmux kill-session -t session1

Завершить все сессии
# tmux kill-server

Список поддерживаемых комманд
# tmux list-commands

Дополнительная информация
# man tmux

Официальный сайт
tmux.github.io

Другой известный мультиплексор Screen
ru.wikipedia.org/wiki/GNU_Screen

Буду рад любым дополнениям и замечаниям.

Автор: n-name

Источник

Поделиться

* - обязательные к заполнению поля