Если вы часто работаете с удалёнными серверами или запускаете долгие процессы в терминале, вы наверняка сталкивались с ситуацией, когда обрыв соединения обрывал и вашу работу. Утилита screen — это мощный инструмент, который позволяет запускать терминальные сессии, отсоединяться от них и возвращаться позже, не теряя состояния.
# Установка на Ubuntu/Debian
sudo apt install screen
# Установка на CentOS/RHEL
sudo yum install screen
# Установка на Arch
sudo pacman -S screen
В этой статье мы рассмотрим базовые команды screen, горячие клавиши для работы внутри сессий и способы завершения работы. Всё — в удобном формате.
Основные команды screen
| Команда | Описание |
|---|---|
| screen -S name | Создать новую сессию с именем name |
| screen -ls | Показать список активных сессий |
| screen -r name | Подключиться к сессии по имени |
| screen -r ID | Подключиться к сессии по её ID (из screen -ls) |
| screen -d name | Отключить сессию (полезно, если она «зависла») |
| screen -d -r name | Принудительно отключить и подключиться к сессии |
| screen -X -S name quit | Принудительно завершить сессию |
| screen -wipe | Удалить «мёртвые» неактивные сессии |
Горячие клавиши внутри screen
| Комбинация | Действие |
|---|---|
Ctrl + A, затем D | Отключиться от текущей сессии |
Ctrl + A, затем C | Создать новое окно в сессии |
Ctrl + A, затем N | Переключиться на следующее окно |
Ctrl + A, затем P | Переключиться на предыдущее окно |
Ctrl + A, затем " | Показать список окон |
Ctrl + A, затем 0-9 | Переключение между окнами по номеру |
Ctrl + A, затем X | Закрыть текущее окно |
Ctrl + A, затем ` | Вернуться в последнее активное окно |
Ctrl + A, затем S | Разделить экран по горизонтали |
Ctrl + A, затем Tab | Переключение между частями экрана |
Ctrl + A, затем Q | Закрыть все области кроме активной |
Ctrl + A, затем K | Принудительно закрыть окно |
Ctrl + A, затем ? | Показать справку по командам screen |
Завершение работы
| Команда | Описание |
|---|---|
| exit | Закрывает текущее окно (если оно последнее — завершает всю сессию) |
Ctrl + A, затем \ | Завершить все окна и полностью закрыть screen |
| screen -X -S name quit | Принудительно завершить сессию по имени |
screen — незаменимый инструмент для системных администраторов, разработчиков и всех, кто работает в терминале. Он позволяет гибко управлять сессиями, переключаться между окнами и даже делить экран. Освоив базовые команды и горячие клавиши, вы значительно упростите свою работу в командной строке.