Ръководство за използване на екранни команди в Linux
Въведение
Командата screen е мощен терминален мултиплексор за Linux и Unix-подобните системи. Тя ви позволява да управлявате няколко сесии на шел от един терминален прозорец, да поддържате сесиите дори след излизане от системата и да се свързвате отново с тях по-късно. Това е особено полезно за отдалечени сесии през SSH, тъй като гарантира, че дълго протичащите процеси няма да бъдат прекъснати, ако връзката ви прекъсне. В това ръководство ще разгледаме как да инсталирате, използвате и управлявате екранни сесии, както и някои често използвани команди и практически съвети.
Защо да използвате screen?
Използването на screen предлага няколко предимства:
- Управление на сесиите: Изпълнявайте няколко сесии в един терминален прозорец.
- Запазване на сесиите: Продължавайте да изпълнявате процеси, дори и да прекъснете връзката с терминала или да загубите SSH връзката си.
- Повторно свързване: Свържете се отново към сесия по всяко време и продължете оттам, откъдето сте спрели.
- Лесна употреба: Прости команди и бързи клавиши улесняват управлението на сесиите.
Екран за инсталиране
screen обикновено е предварително инсталиран в повечето дистрибуции на Linux. Въпреки това, ако не е наличен във вашата система, можете да го инсталирате с помощта на вашия мениджър на пакети:
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install screen
- CentOS/RHEL:
sudo yum install screen
- Fedora:
sudo dnf install screen
- Arch Linux:
sudo pacman -S screen
След като бъде инсталиран, можете да започнете да използвате screen веднага.
Стартиране на сесия на screen
За да стартирате нова сесия на screen, просто въведете:
screen
Това ще отвори нова екранна сесия с интерфейс на командния ред, който се държи като нормален терминал. Можете да стартирате команди или процеси в тази сесия.
За да стартирате нова сесия с конкретно име (за да я управлявате по-лесно по-късно), използвайте:
screen -S session_name
Заменете session_name със смислено име за вашата сесия.
Отделяне и повторно свързване към сесии
Една от най-полезните функции на screen е възможността за отделяне от сесия и повторно свързване по-късно.
Отделяне от сесия
За да се отделите от сесия на Screen, без да я затваряте, натиснете:
Ctrl A , D
Последователността Ctrl A казва на екрана, че ще му дадете команда, а D означава “откъсване” След отделянето сесията ви ще продължи да работи във фонов режим.
Повторно свързване към сесия
За да се свържете отново към отделена сесия, използвайте:
screen -r
Ако имате няколко сесии, можете да ги изброите и да изберете конкретната сесия, към която да се свържете:
screen -ls
Тази команда ще покаже всички активни сесии на екрана, включително техните идентификатори и имена:
Има включени екрани:
1234.сесия_име (отделен)
5678.another_session (Отделена)
2 гнезда в /var/run/screen/S-user.
За да се прикачите отново към определена сесия, използвайте нейния идентификатор или име:
screen -r 1234
или
screen -r session_name
Използване на няколко прозореца в една екранна сесия
екран ви позволява да създавате множество прозорци в рамките на една сесия. Това означава, че можете да изпълнявате различни команди или процеси в отделни прозорци и да превключвате лесно между тях.
Създаване на нов прозорец
За да създадете нов прозорец в рамките на съществуваща сесия на екран, натиснете:
Ctrl A , C
Това ще отвори нов прозорец с нов прозорец на обвивката.
Навигация между прозорците
За да превключвате между прозорците, използвайте:
- Ctrl A, N: Преминаване към следващия прозорец.
- Ctrl A, P: Преминаване към предишния прозорец.
- Ctrl A, “: Показва списък на отворените прозорци и избира един от тях, към който да преминете.
Преименуване на прозорец
За да преименувате прозорец с цел по-добра организация, натиснете:
Ctrl A , A
Въведете новото име на прозореца и натиснете Enter.
Затваряне на прозорец
За да затворите прозорец, просто излезте от обвивката, работеща в този прозорец, като въведете:
exit
или натиснете Ctrl D.
Заключване и отключване на сесия на екрана
Ако трябва временно да заключите екранната си сесия, използвайте следната команда:
Ctrl A , X
Това ще изисква да въведете потребителската си парола, за да отключите сесията.
Персонализиране на конфигурацията на екрана
Поведението на screen може да бъде персонализирано с помощта на файла .screenrc, който се намира в домашната ви директория. Можете да добавяте команди в този файл, за да променяте свързването на клавишите по подразбиране, да задавате заглавия на прозорци и да персонализирате поведението на screen при стартиране.
За да създадете или редактирате файла .screenrc, използвайте текстов редактор:
nano ~/.screenrc
Ето няколко примерни настройки, които можете да добавите:
# Променете последователността за евакуация по подразбиране на Ctrl B
escape ^Bb#
Задайте ред на състоянието в долната част на екранаhardstatus on
hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}% w”
Запазете файла и рестартирайте екрана, за да приложите промените.
Примерни случаи на употреба за screen
- Стартиране на продължителни процеси: Ако трябва да стартирате скрипт или команда, която отнема много време, стартирайте я в рамките на екранна сесия. По този начин процесът ще продължи да се изпълнява, дори ако прекъснете връзката с SSH.
- Управление на множество сесии: Ако работите по няколко проекта, можете да използвате различни екранни сесии или прозорци за всяка задача.
- Отдалечено управление на сървъра: Използвайте екран, за да управлявате отдалечени сървъри чрез SSH. Това е особено полезно за администриране на сървъри, които изискват постоянна поддръжка или наблюдение.
Заключение
Командата screen е многофункционален и мощен инструмент за управление на множество терминални сесии и стартиране на дълги процеси в Linux системи. С възможността за отделяне, повторно свързване и създаване на множество прозорци, screen осигурява стабилна среда както за обикновени, така и за опитни потребители. Независимо дали изпълнявате сложни скриптове или просто се нуждаете от начин да поддържате постоянна сесия на шел, овладяването на screen значително ще повиши производителността и гъвкавостта ви в Linux.