tmux шпаргалка

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, NNext, следующее окно
CTRL + B, PPrev, предыдущее окно
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 и им подобные утилиты

comments powered by Disqus