Шпаргалка по использованию утилиты screen в Linux.
Команда screen и её аналоги входят в копилку основных используемых программ любого системного администратора.
Screen позволяет переключаться между терминалами с запущенными процессами без необходимости их прерывать. Это очень эффективно при параллельной работе сразу с несколькими задачами. Также утилита позволяет разбить экран на несколько окон.
Дополнительно screen позволяет подключаться к одной сессии нескольким пользователям, что удобно при обучении персонала.
И самое важное, на мой взгляд, утилита позволяет запустить опасный или долгий процесс без опасения, что сессия внезапно оборвётся и процесс прервётся. Оборвётся, да и не страшно, можно подключиться к прерванной сессии снова.
Установка screen
Утилиту screen не входит в список стандартных утилит всех дистрибутивов Linux, иногда её приходится устанавливать.
apt install screen
yum install screen
dnf install screen
aurman -S screenИспользование screen
Запуск первого окна:
screenУправляющие команды начинаются с сочетания клавиш Ctrl + a, затем управляющая клавиша или сочетание клавиш. Управляющие клавиши и сочетания можно заменить на двоеточие + текст.
Новое окно:
Ctrl + a, cСписок окон:
Ctrl + a, wПереход к окну:
Ctrl + a, номер_окнаИнтерактивный выбор окна стрелками:
Ctrl + a, "Следующее окно:
Ctrl + a, nПредыдущее окно:
Ctrl + a, pРазделить экран по горизонтали:
Ctrl + a, S
Ctrl + a, :splitРазделить экран по вертикали:
Ctrl + a, |
Ctrl + a, :split -vПереключение между разделёнными окнами:
Ctrl + a, Tab
Ctrl + a, :focusЗакрыть окно:
Ctrl + a, X
Ctrl + a, :removeЗапустить в окне терминал:
Ctrl + a, c
Ctrl + a, :screenЗакрыть все окна кроме текущего:
Ctrl + a, Q
Ctrl + a, :onlyНазвать окно:
Ctrl + a, AСкрыть все окна сессии:
Ctrl + a, \Выйти из менеджера окон:
Ctrl + a, dПолный список команд:
Ctrl + a, ?
Работа с сессиями screen
Создать сессию с определённым именем:
screen -S имяПосмотреть список сессий:
screen -lsУ сессии есть id, название и статус. Здесь id — идентификатор сессии (процесса). Статус может быть Attached (задействован) и Detached (незадействован).
Перейти к первой сессии:
screen -rПерейти к определённой сессии:
screen -r идентификатор_сессииВсе команды:
screen -h
