screen — это инструмент для работы с несколькими терминалами в одном окне. Она особенно полезна, если вы работаете с удалёнными серверами или хотите организовать многозадачность в одном сеансе. В этой статье мы рассмотрим, как использовать screen, а также изучим основные горячие клавиши для управления оболочками.
1. Что такое screen?
Screen — это терминальный мультиплексор, который позволяет вам:
- Запускать несколько терминалов (оболочек) в одном окне.
- Отключаться от сеанса и подключаться к нему позже, даже с другого устройства.
- Делить окно на несколько областей для одновременной работы с несколькими терминалами.
2. Установка screen
Если screen не установлен на вашей системе, вы можете установить его с помощью пакетного менеджера.
Для Debian/Ubuntu:
sudo apt install screen
Для CentOS/RHEL:
sudo yum install screen
Для Arch Linux:
sudo pacman -S screen
3. Запуск screen
Чтобы начать работу с screen, просто введите в терминале:
screen
После этого вы окажетесь в новой оболочке, управляемой screen.
4. Основные горячие клавиши screen
Все команды в screen начинаются с комбинации Ctrl+a. После этого нужно нажать следующую клавишу для выполнения конкретной команды.
Создание новой оболочки
Ctrl+a c — создать новую оболочку (окно).
Пример:
Нажмите Ctrl+a, затем c.
Вы окажетесь в новой оболочке. Теперь у вас два окна.
Просмотр списка оболочек
Ctrl+a » — показать список всех оболочек в текущем сеансе.
Пример:
Создайте несколько оболочек с помощью Ctrl+a c.
Нажмите Ctrl+a «.
Вы увидите список всех оболочек с их номерами и именами.
Переключение между оболочками
Ctrl+a NUM — переключиться на оболочку с номером NUM, где NUM — это число (например, 0, 1, 2).
Пример:
Создайте три оболочки.
Нажмите Ctrl+a 1, чтобы переключиться на первую оболочку.
Нажмите Ctrl+a 2, чтобы переключиться на вторую.
Переименование окна
Ctrl+a A — переименовать текущее окно.
Пример:
Нажмите Ctrl+a A.
Введите новое имя для окна, например, Logs.
Теперь это имя будет отображаться в списке оболочек.
Разделение окна
Ctrl+a S — разделить окно горизонтально.
Ctrl+a | — разделить окно вертикально.
Пример:
Нажмите Ctrl+a S, чтобы разделить окно горизонтально.
Теперь у вас две области. Переключитесь между ними с помощью Ctrl+a Tab.
Нажмите Ctrl+a |, чтобы разделить окно вертикально.
Переключение между областями
Ctrl+a Tab — переключиться на следующую область.
Пример:
Разделите окно на несколько областей.
Нажмите Ctrl+a Tab, чтобы перемещаться между ними.
Переключение между предыдущим и текущим окном
Ctrl+a Ctrl+a — переключиться между текущим и предыдущим окном.
Пример:
Переключитесь на другую оболочку.
Нажмите Ctrl+a Ctrl+a, чтобы вернуться к предыдущей.
Закрытие оболочек
Ctrl+a X — закрыть текущую оболочку.
Ctrl+a Q — закрыть все оболочки, кроме текущей.
Пример:
Создайте несколько оболочек.
Нажмите Ctrl+a X, чтобы закрыть текущую оболочку.
Нажмите Ctrl+a Q, чтобы оставить только одну оболочку.
5. Дополнительные возможности screen
Отключение от сеанса
Вы можете отключиться от сеанса screen, оставив все оболочки работающими. Для этого нажмите:
Ctrl+a d
Теперь вы вернётесь в основной терминал, а сеанс screen продолжит работать в фоновом режиме.
Подключение к сеансу
Чтобы подключиться к ранее созданному сеансу, используйте команду:
screen -r
Если у вас несколько сеансов, вы увидите их список. Подключитесь к нужному, указав его ID.
Просмотр списка сеансов
Чтобы увидеть все активные сеансы screen, выполните:
screen -ls
Пример вывода:
There are screens on:
12345.pts-0.hostname (Detached)
67890.pts-1.hostname (Attached)
Завершение сеанса
Чтобы завершить сеанс screen и закрыть все оболочки, просто выйдите из последней оболочки командой exit
.
6. Пример использования screen
Сценарий: Мониторинг логов и выполнение задач
Запустите screen:
screen
Создайте несколько оболочек:
Ctrl+a c — первая оболочка.
Ctrl+a c — вторая оболочка.
Ctrl+a c — третья оболочка.
Переименуйте окна:
Переключитесь на первую оболочку (Ctrl+a 0), нажмите Ctrl+a A и назовите её Logs.
Переключитесь на вторую оболочку (Ctrl+a 1), нажмите Ctrl+a A и назовите её Tasks.
Переключитесь на третью оболочку (Ctrl+a 2), нажмите Ctrl+a A и назовите её Backup.
Разделите окно:
Нажмите Ctrl+a S, чтобы разделить окно горизонтально.
В верхней области откройте логи (tail -f /var/log/syslog
).
В нижней области выполните команду для резервного копирования.
Отключитесь от сеанса:
Нажмите Ctrl+a d.
Подключитесь к сеансу позже:
Используйте screen -r
, чтобы вернуться к работе.
Заключение
Screen — это незаменимый инструмент для работы с несколькими терминалами в одном окне. С его помощью вы можете легко организовывать многозадачность, разделять окна, переименовывать оболочки и управлять сеансами. Освоив горячие клавиши и основные команды, вы сможете значительно повысить свою продуктивность при работе в терминале. Удачи в использовании screen!