Команди Linux і навички оболонки
tmux: сеанси, які переживуть ваше з’єднання
tmux — це термінальний мультиплексор, який підтримує тривалу роботу, коли ваше SSH-з’єднання припиняється: відокремлений серверний процес утримує ваші вікна та панелі, а будь-яке пізніше з’єднання (ноутбук, офісна мережа, інше місто) повторно під’єднується до того самого живого сеансу. Спеціальна частина нашого порівняння tmux проти екрану: звички, які перетворюють його з новинки на робочу інфраструктуру.
Головне
- Ментальна модель — сервер-клієнт: `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 він відновлює момент «Я бачив помилку три екрани тому», який втрачає звичайна прокрутка SSH.
- Командні сеанси працюють: спільні іменовані сокети (tmux -S /tmp/pair.sock) дозволяють двом інженерам підключитися до одного живого сеансу для парного налагодження або передачі; сесія триває доти, доки живе сокет (і, отже, також дисципліна спільної оболонки: згадуйте, не дивуйте).
- Реальність сценаріїв: `tmux new-session -d -s job 'run-script && send-keys...'`-class automation and tmux commands from cron make unnattended multi-pane log-watch setups; поєднайте його з log-to-file для всього, що має вижити після циклу перегляду (натомість наші команди linux-command cat-hub покривають місце журналів).
Польова нотатка
Розгортання, яке тривало три години від однієї батареї ноутбука, використовувало tmux, щоб вижити, коли батарея двічі розряджалася під час роботи. Сеанси — це інфраструктура, а інженер спав, коли збірка закінчилася.
Часті запитання
tmux проти екрану для нових налаштувань?
tmux: кращі розбиття, словник сценаріїв, живе співтовариство конфігурацій. Екран GNU: встановлено там, де немає tmux (старіші образи відновлення, мінімальна кількість хостів). Наша порівняльна стаття охоплює компромісну таблицю: вибирайте tmux там, де ви можете вільно, знайте екран, коли хост вирішить за вас.
Як мені звільнитися, не вбивши свою роботу?
Префікс d (Ctrl-b d) від’єднує лише перегляд клієнта: сеанс (завдання, оболонки) продовжує працювати на стороні сервера; знищення вимагає `tmux kill-session` явно, тому від'єднання завжди безпечне.
Чи можуть двоє людей приєднатися до читання однієї сесії?
Так, спільні сеанси з іменованим сокетом або простий `tmux attach -t` до одного сеансу працюють обидва; навчання пар, передача та команда інциденту стали звичайним випадком використання операцій.
Яка мінімальна конфігурація відразу окупається?
Більша історія прокручування, увімкнений режим миші, коротший час виходу та рядок стану, що показує хост + ім’я сеансу: чотири рядки, які запобігають більшості інцидентів «зачекайте, у якому вікні я знаходжуся».
Допомога Kinetikatech: команди linux і навички оболонки
Вам не обов'язково ставати експертом із команди linux і навички оболонки: Команди та сценарії, які вирішують, чи керує адміністратор сервером, чи бореться з ним: шукайте, трансформуйте, пересилайте та контролюйте текст і процеси за допомогою інструментів, які присутні в кожній базовій установці. Саме для цього й існує служба Безпека серверів Linux та Адміністрування серверів: налаштування, посилення захисту, моніторинг і жива людина на зв'язку цілодобово.