Команды Linux и навыки работы с оболочкой
tmux: сеансы, которые переживут ваше соединение
tmux — это терминальный мультиплексор, который поддерживает длительную работу, когда ваше SSH-соединение прекращается: отдельный серверный процесс удерживает ваши окна и панели, а любое более позднее соединение (ноутбук, офисная сеть, другой город) повторно подключается к тому же живому сеансу. Специальная часть нашего сравнения tmux-vs-screen: привычки, которые превращают его из новинки в операционную инфраструктуру.
Главное
- Мысленная модель — сервер-клиент: `tmux new -s Deploy` создает именованный отдельный сеанс; `Ctrl-b d` отсоединяется; `tmux Attach -t Deploy` возвращает что-либо позже из любого соединения: развертывания, хвосты журналов и компиляции сохраняются, когда ноутбуки переходят в спящий режим во время работы.
- Окна и панели — это рабочая поверхность: окна — это вкладки задач в стиле Alt (Ctrl-b c для создания, n/p или цифры для переключения), панели разделяют окно (Ctrl-b % по вертикали, «горизонтально», клавиши со стрелками для навигации): один экран, один контекст — вход в левую панель, перезапуск службы справа.
- Конфигурация сохраняется в ~/.tmux.conf: большая обратная прокрутка (ограничение истории), режим мыши для прокрутки/выбора, более короткое время выхода (задержка в стиле vi убивает обработку клавиш, чувствительную к задержке) и видимую строку состояния, показывающую имена сеансов и окон; конфигурация находится в системе контроля версий, как и все остальное в рабочем состоянии.
- Режим копирования — это тихая суперсила: Ctrl-b [ переходит в обратную прокрутку с поиском (/) и выбором копирования; в сочетании с префиксами для grep-class он восстанавливает момент «Я видел ошибку три экрана назад», который теряет простая обратная прокрутка SSH.
- Работают групповые сеансы: общие именованные сокеты (tmux -S /tmp/pair.sock) позволяют двум инженерам подключаться к одному и тому же сеансу в реальном времени для парной отладки или передачи обслуживания; сеанс сохраняется до тех пор, пока жив сокет (и, следовательно, также дисциплина общей оболочки: упомяните, не удивляйтесь).
- Реальность сценариев: `tmux new-session -d -s job 'run-script && send-keys...'`-класс автоматизации и команды tmux из cron выполняют автоматические настройки просмотра журналов с несколькими панелями; соедините его с журналом в файл для всего, что должно выжить после цикла проверки (вместо этого наш Cat-Hub linux-commands описывает, где находятся журналы).
Заметка из практики
При развертывании одной батареи ноутбука, которое заняло три часа, использовался tmux, чтобы избежать двойной разрядки батареи в середине работы. Сессии — это инфраструктура, и когда сборка завершилась, инженер спал.
Частые вопросы
tmux против экрана для новых настроек?
tmux: лучшее разделение, словарь сценариев, живое сообщество конфигураторов. Экран GNU: установлен там, где нет tmux (старые образы восстановления, минимальные хосты). В нашей сравнительной статье рассматривается таблица компромиссов: выбирайте tmux там, где вы выбираете свободно, знайте экран, когда хост решит за вас.
Как мне уйти, не убивая свою работу?
Префикс d (Ctrl-b d) отключает только представление клиента: сеанс (задания, оболочки) продолжает работать на стороне сервера; для убийства явно требуется `tmux kill-session`, поэтому отсоединение всегда безопасно.
Могут ли два человека подключиться для чтения одного и того же сеанса?
Да, общие сеансы с именованными сокетами или простой `tmux Attach -t` для одного и того же сеанса работают; парное обучение, передача обслуживания и управление инцидентами стали обычным вариантом использования в операциях.
Какая минимальная конфигурация окупается сразу?
Увеличенная история прокрутки, включенный режим мыши, более короткое время выхода и строка состояния, показывающая имя хоста и сеанса: четыре строки, которые предотвращают большинство инцидентов типа «подождите, в каком окне я нахожусь».
Как мы берём на себя команды linux и навыки работы с оболочкой
Честно: чаще всего к нам приходят после того, как команда попробовала справиться сама. Команды и сценарии сценариев, которые решают, управляет ли администратор сервером или борется с ним: поиск, преобразование, передача и контроль текста и процессов с помощью инструментов, которые есть в каждой базовой установке. Услуга Безопасность серверов Linux и Администрирование серверов существует как раз затем, чтобы не изучать команды linux и навыки работы с оболочкой на своих ошибках: настройку, ночные сюрпризы и постоянное наблюдение мы берём на себя.