tmux шпаргалка
Привет друзья линуксоиды. Раз вы нашли эту статью, значит вы точно линуксоид. Другой бы увидел терминал на картинке и сразу бы не стал заходить. А если ты еще не линуксоид и тебя не напугал терминал и ты зашел, то очень советую им стать!
Ладно опустим лирику, для чего я решил тоже написать tmux шпаргалку, ведь их так много в сети! Да все просто, их много, и каждый раз как что-то забудешь приходится искать по куче, чтобы найти то, чем обычно пользуюсь я сам и я решил написать статейку и немного поделиться своим способом работы с ним.
Tmux шпаргалка, работа с окнами
Первое с чего начинается работа, это запуск, поэтому начнем с него, буду писать баш команды и сразу коротко комментарии к ним, не люблю долгие пояснения
Создаем сессию с именем. Параметр можно игнорировать, тогда сессия будет называться “0”
tmux new -s MY_SESSION_NAME
Подключаемся к последней сессии в которой были
tmux attach
Подключаемся к конкретной сессии с названием
tmux attach -t MY_SESSION_NAME
Если забыли какие сессии у нас есть то делаем
tmux ls
увидим:
other: 1 windows (created Thu Jun 8 19:59:22 2023)
server: 2 windows (created Thu Jun 8 19:43:38 2023)
Ну и напоследок еще 2 команды, когда лень закрывать что то руками:
Убиваем сессию:
tmux kill-session -t MY_SESSION_NAME
Лень убивать по одной? Убей все!
tmux kill-server
Вообще в tmux на все есть команды которые работают внутри сессии, но это неудобно, поэтому пользуемся горячими клавишами. При постоянном исопльзовании х быстро запоминаешь, а когда забываешь, находишь мою tmux шпаргалку чтобы вспомнить
Работа с панелями и окнами tmux
Почти все команды, для работы с окнами и панелями вызываются через CTRL + B, ее самое главное и запомнить, дальше по процессам
Сочетание | Описание |
---|---|
CTRL + B, C | Новое окно |
CTRL + B, S | Список сессий |
CTRL + B, W | Список окон, в новых версиях видно и сессии |
CTRL + B, N | Next, следующее окно |
CTRL + B, P | Prev, предыдущее окно |
CTRL + B, 0 | Вместо нуля любой номер окна, чтобы перейти на него |
CTRL + B, D | Отключиться от текущей сессии, сама сессия остается, так сказать detach |
CTRL + B, : | Командная строка |
Работа с панелями | - |
CTRL + B, " | Разделить окно горизонтально |
CTRL + B, % | Разделить окно вертикально |
CTRL + B, стрелки | Переход между панелями |
CTRL + B, X | Закрывает панель |
Ну вроде бы самое основное перечислил. Если что всегда можно добавить чего не хватает. Главное, что основная tmux шпаргалка готова.
Tmux работа с мышью
С версии 2.1 для включения режима мыши (скролл, изменение размера панели, выбор панели и др.) нужно добавить в tmux.conf:
set -g mouse on
конфиги здесь:
~/.tmux.conf
/etc/tmux.conf
Работа с долгими процессами
Если вы линуксоид, то наверняка знаете такую штуку как screen. Это программа, которая запускается в терминале и остается открытой сессией. Вы можете запустить какую то долгую команду, например выкачивание образа диска размером в пару гигабайт, и спокойно закрыть терминал, команда не сбросится и скачивание продолжится. К сессиям можно возвращаться. Так вот, у Tmux очень похожий механизм, и если вы используете tmux то, вам не нужен screen. Вы можете создать отдельную сессию на скачивание файла и просто отсоединиться от нее CTRL+B, D
. Таким образом скачивание не прервется, пока вы не закроете сессию или оно само не завершится.
Заключение
Так как я все равно оформил все это как статью, то решил еще поделиться мнением, которое никто не спрашивал! Я видел множетсво терминалов на linux, в том числе работающие с отдельными вкладками, окнами, панелями и т.д. Но Tmux все равно часто оказывается удобнее. У меня например Linux Mint и в ней встроенный терминал поддерживает вкладки. И когда мне нужног быстро запустить свой проект, докер или что-то мелкое не надолго, мне вкладок хватает и я ими пользуюсь. Но когда приходится делать какое-то отслеживание процессов, здесь вкладки сильно проигрывают панелям, где вы можете удобно отследить например работу htop
, iostat
, pidstat
и им подобные утилиты