Weboldal keresés

20 példa a képernyőparancsokra a Linux terminálok kezelésére


Rövid: Ebben az útmutatóban néhány hasznos példát mutatunk be a képernyőparancsra. Az útmutató végére a felhasználók több shell-munkamenettel is dolgozhatnak egyetlen Linux-terminálablak használatával.

Linux-felhasználókként gyakran kell dolgoznunk hosszan tartó feladatokon, mint például – nagy fájlok letöltése vagy másolása, időigényes adatbázis-lekérdezések végrehajtása stb. Néha ezek a fontos feladatok a munkamenet időtúllépése miatt hirtelen leállnak.

Az ilyen forgatókönyvek enyhítésére használhatjuk a screen parancsot, amely egy teljes képernyős szoftverprogram, amellyel egy fizikai konzolt több folyamat (általában interaktív shell) között multiplexelhetünk. Több különálló terminálpéldány megnyitását kínálja a felhasználónak egyetlen terminálablak-kezelőn belül.

A képernyő alkalmazás nagyon hasznos, ha több programmal foglalkozik parancssori felületről, és elválasztja a programokat a terminálhéjtól. Ezenkívül lehetővé teszi a munkamenetek megosztását más felhasználókkal, valamint a terminálmunkamenetek leválasztását/csatolását.

Ebben az útmutatóban megvitatjuk, hogyan kell telepíteni, konfigurálni és használni a képernyőparancsot Linux rendszeren. Ebben az útmutatóban gyakorlati példákon keresztül megismerjük a képernyőparancs használatát és előnyeit.

Tehát kezdjük.

Telepítse a Screen Commandot Linux alatt

Az Ubuntu Server Edition-emen a screen parancs alapértelmezés szerint telepítve van. De a Linux Mintben alapértelmezés szerint nincs telepítve képernyő, ezért először telepítenem kell az apt-get paranccsal, mielőtt használnám. .

A képernyő telepítéséhez kövesse a terjesztés telepítési eljárását.

sudo apt-get install screen      [On Debian, Ubuntu and Mint]
sudo yum install screen          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/screen   [On Gentoo Linux]
sudo apk add screen              [On Alpine Linux]
sudo pacman -S screen            [On Arch Linux]
sudo zypper install screen       [On OpenSUSE]    

Most ellenőrizzük, hogy a parancs sikeresen telepítve van-e:

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

Valójában a képernyő egy nagyon jó terminál multiplexer program Linuxban, amely Linux-parancsok százaiban van elrejtve.

Kezdjük a screen parancs Linux alatti használatát a következő példákkal.

Képernyőparancs szintaxis

A screen parancs szintaxisa a következő

screen [OPTIONS] [ CMD [ ARGS ] ]

A fenti szintaxisban láthatjuk, hogy az összes paraméter opció, és a ([]) szögletes zárójelben vannak ábrázolva.

1. Kezdőképernyő első alkalommal

Csak írja be a parancssorba a képernyőt. Ezután a képernyő egy felületet fog megjeleníteni, pontosan úgy, mint a parancssor.

screen

2. Képernyőparaméter megjelenítése

Amikor belép a képernyőre, minden munkáját úgy végezheti, ahogy a normál parancssori környezetben. De mivel a képernyő egy alkalmazás, ezért vannak parancsai vagy paraméterei.

Írja be idézőjelek nélkül a következőt: „Ctrl-A” és „?”. Ezután az összes parancsot vagy paramétert látni fogja a képernyőn.

A súgó képernyőről való kilépéshez nyomja meg a „szóköz ” vagy az „Enter” billentyűt. (Kérjük, vegye figyelembe, hogy az összes „Ctrl-A” billentyűparancs idézőjelek nélkül történik.)

3. Az összes nyitott Windows listázása

Az előző példában új shell-munkamenetet indítottunk a képernyő paranccsal. Most használjuk a ctrl-a + " billentyűkombinációt az aktuális képernyőmunka összes nyitott ablakának listázásához:

A fenti kimenetben láthatjuk az ablak számát és nevét. Az első oszlop az ablak számát jelöli, és nullától kezdődik.

A következő oszlop az ablak nevét jelöli, alapértelmezett formátuma pedig @:.

4. A Képernyőablak munkamenet megszakítása

Az aktív ablak munkamenetet a ctrl-a + k billentyűkombinációkkal fejezhetjük be. Fontos megjegyezni, hogy ez a művelet megszakítja a parancs végrehajtását az aktuális virtuális ablakból.

A fenti kimeneten láthatjuk, hogy a screen parancs a felhasználó megerősítésére vár. A bal alsó sarokban megjelenik a figyelmeztető üzenet.

Más Linux-parancsokhoz hasonlóan a 'y' használatával folytathatjuk, vagy az 'n' használatával megszakíthatjuk a műveletet.

5. Képernyő-munkamenet indítása névvel

A screen paranccsal létrehozhatunk egy munkamenetet a felhasználó által definiált névvel, ami akkor hasznos, ha több munkamenet is elérhető.

Tehát használjuk a parancs -S opcióját egy elnevezett munkamenet létrehozásához:

screen -S demo-screen

A fenti parancsban a demóképernyő a munkamenet neve.

6. Válassza le a terminál munkamenetet képernyővel

A képernyő egyik előnye, hogy leválaszthatja. Ezután visszaállíthatja anélkül, hogy bármit is elveszítene, amit a képernyőn végzett. Íme a példa forgatókönyv:

Ön az SSH közepén van a szerverén. Tegyük fel, hogy egy 400 MB javítást tölt le a rendszeréhez a wget paranccsal.

A letöltési folyamat a becslések szerint 2 órát vesz igénybe. Ha megszakítja az SSH munkamenetet, vagy a kapcsolat véletlenül megszakad, a letöltési folyamat leáll. Újra elölről kell kezdeni. Ennek elkerülésére használhatunk egy képernyőt és leválaszthatjuk.

Vessen egy pillantást erre a parancsra. Először is be kell lépnie a képernyőre.

screen

Ezután elvégezheti a letöltési folyamatot. Például a Linux Mint-en frissítem a dpkg csomagomat az apt paranccsal.

sudo apt install dpkg
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ 
testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]     14,7 kB/s

A letöltés közben nyomja meg a „Ctrl-A” és „d” billentyűket. Nem fog látni semmit, ha megnyomja ezeket a gombokat. A kimenet a következő lesz:

[detached from 5561.pts-0.mint]
pungki@mint ~ $

7. Csatlakoztassa újra a terminál munkamenetet képernyővel

A képernyő leválasztása után tegyük fel, hogy megszakítja az SSH munkamenetet, és hazamegy. Otthonában újra elkezd SSH-t küldeni a szerverére, és látni szeretné a letöltési folyamat előrehaladását. Ehhez vissza kell állítania a képernyőt. Ezt a parancsot futtathatja:

pungki@mint ~ $ screen -r

És látni fogja, hogy a folyamat, amelyet elhagyott, még mindig fut.

Ha több mint 1 képernyő munkamenettel rendelkezik, be kell írnia a képernyőmunkamenet azonosítóját. A -ls képernyő használatával megtudhatja, hány képernyő áll rendelkezésre.

pungki@mint ~ $ screen -ls
pungki@mint ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2021 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2021 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

Ha vissza szeretné állítani a 7849.pts-0.mint képernyőt, írja be ezt a parancsot.

pungki@mint ~ $ screen -r 7849

8. Többképernyős terminálablakok használata

Ha több mint 1 képernyőre van szüksége a munkájához, lehetséges ez? Igen, ez az. Egyszerre több képernyőablakot is futtathat. 2 (két) módja van ennek.

Először is leválaszthatja az első képernyőt, és futtathat egy másik képernyőt a valódi terminálon. Másodszor, beágyazott képernyőt készít az ábrán látható módon.

Új ablakok létrehozásához használja a ctrl-a + c billentyűkombinációt kétszer két új ablak létrehozásához. Ezután használjuk a ctrl-a + " billentyűkombinációt az összes aktív ablak listázásához:

A fenti kimeneten láthatjuk, hogy most három ablak van.

9. Képernyőablak átnevezése

Az előző példában két új ablakot hoztunk létre. Alapértelmezett neveik azonban nem adnak részleteket róluk. Ilyenkor néhány értelmes nevet rendelhetünk hozzájuk.

Használhatjuk a ctrl-a + A billentyűkombinációt az aktuális ablakmunka átnevezéséhez. Ez a billentyűkombináció arra kéri a felhasználót, hogy állítson be egy ablakcímet:

10. Váltás a képernyőterminál ablakai között

Az előző példában több ablakot hoztunk létre. Most nézzük meg, hogyan válthatunk közöttük.

Először listázzuk ki az összes aktív ablakot a ctrl-a + " billentyűkombináció segítségével. Ezután a fel vagy le nyílbillentyűkkel válassza ki a megfelelő ablakot. Végül nyomja meg az enter billentyűt a kiválasztottra váltáshoz ablak.

Ebben a példában a – db-query nevű ablakot választottuk ki.

11. Hogyan lépjünk át a következő képernyő ablakra

A ctrl-a + n billentyűkombinációval léphetünk a következő ablakokra. Értsük meg ezt egy példával.

Először váltson át az első ablakra, és ellenőrizze azt a ctrl-a + " billentyűkombinációval:

Most nyomja meg kétszer a ctrl-a + n billentyűkombinációt, hogy a harmadik ablakba lépjen, és használja a ctrl-a + " billentyűkombinációt ennek ellenőrzésére.

A fenti kimenetben láthatjuk, hogy most a harmadik ablaknál vagyunk.

12. Hogyan lépjünk át az előző képernyőablakra

Hasonló módon a ctrl-a + p kombinációval válthatunk át az előző ablakra.

Jelenleg a harmadik ablaknál tartunk. Tehát használjuk kétszer a ctrl-a + p billentyűkombinációt, és ellenőrizzük, hogy ismét az első ablakban vagyunk:

A fenti kimeneten láthatjuk, hogy most visszatértünk az első ablakhoz.

13. Váltás az aktuális és az előző ablak között

Néha csak két ablak között szeretnénk váltani. Ilyen esetekben használhatjuk a ctrl-a + ctrl-a billentyűkombinációt.

Ennek megértéséhez először váltson át az első ablakra:

Ezután váltson az utolsó ablakra:

Végül használja a ctrl-a + ctrl-a billentyűkombinációt, hogy ismét az első ablakra ugorjon.

14. Hogyan ugorjunk egy adott képernyőablakra

Az előző példákban különféle módokat láttunk az ablakok közötti váltáshoz. Néha azonban szeretnénk egy adott ablakra ugrani. Ilyen esetekben használhatjuk az ablakszámokat.

Először is használjuk a ctrl-a + " billentyűkombinációt az ablak számának megkereséséhez:

A fenti kimenetben az első oszlop az ablak számát jelöli. Fontos megjegyezni, hogy a képernyőparancs nullától kezdi a számozást.

Most használjuk a ctrl-a + 2 billentyűkombinációt, hogy a harmadik ablakra ugorjunk, és ellenőrizzük, hogy a megfelelő ablakban vagyunk:

15. Képernyőablak vízszintes felosztása

A normál terminálokhoz hasonlóan a képernyőablakot is feloszthatjuk. Használhatjuk a ctrl-a + S billentyűkombinációt az ablak vízszintes felosztására.

Most már használhatjuk a ctrl-a + tab billentyűkombinációt a régiók közötti ugráshoz.

Végül a ctrl-a + X billentyűkombinációval eltávolíthatjuk az aktuális régiót. Fontos megjegyezni, hogy itt nagybetűs X karaktert kell használnunk.

16. Képernyőablak függőleges felosztása

Hasonlóképpen használhatjuk a ctrl-a + | billentyűkombinációt az aktuális ablak függőleges felosztására:

Ezen kívül a ctrl-a + tab billentyűkombinációt is használhatjuk a régiók között és a ctrl-a + X billentyűkombinációt az aktuális régió bezárásához.

17. Engedélyezze a képernyőnaplózást Linuxban

Néha fontos, hogy rögzítse, mit tett, miközben a konzolban tartózkodik. Tegyük fel, hogy Ön Linux-rendszergazda, aki sok Linux-kiszolgálót kezel.

Ezzel a képernyő naplózással nem kell minden egyes parancsot leírnia. A képernyőnaplózás funkció aktiválásához nyomja meg a „Ctrl-A” és a „H” billentyűket. (Kérjük, legyen óvatos, nagy 'H' betűket használunk. A nem nagybetűs 'h' használata csak egy képernyőképet hoz létre a képernyőről egy másik, hardcopy nevű fájlban.) .

A képernyő bal alsó sarkában megjelenik egy értesítés, amely a következőket jelzi: „screenlog.0” naplófájl létrehozása. A kezdőkönyvtárban talál egy screenlog.0 fájlt.

Ez a funkció hozzáfűzi mindazt, amit a képernyő ablakában tesz. A képernyő bezárásához a futási tevékenység naplózásához nyomja meg ismét a „Ctrl-A” és a „H” gombot.

A naplózási funkció aktiválásának másik módja, ha a képernyő első futtatásakor hozzáadhatja a „-L” paramétert. A parancs így lesz.

pungki@mint ~ $ screen -L

18. Zárja le a Linux terminál képernyőjét

A képernyőn található egy parancsikon is a képernyő zárolására. A képernyő zárolásához nyomja meg a „Ctrl-A” és „x” gyorsbillentyűket. Ez akkor hasznos, ha gyorsan szeretné lezárni a képernyőt. Íme egy példa a zárolási képernyő kimenetére, miután megnyomta a parancsikont.

Screen used by Pungki Arianto  on mint.
Password:

A zárolás feloldásához használhatja Linux jelszavát.

19. Adjon hozzá jelszót a képernyő-munkamenethez

Biztonsági okokból érdemes lehet megadni a jelszót a képernyő munkamenetéhez. A rendszer minden alkalommal jelszót kér, amikor újra csatolni szeretné a képernyőt. Ez a jelszó eltér a fenti Képernyőzár mechanizmustól.

A képernyő jelszavas védelméhez szerkesztheti a „$HOME/.screenrc” fájlt. Ha a fájl nem létezik, manuálisan is létrehozhatja. A szintaxis ilyen lesz.

password crypt_password

A fenti „crypt_password” létrehozásához használhatja az „mkpasswd” parancsot Linuxon. Íme a parancs „pungki123” jelszóval.

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

Az mkpasswd egy hash jelszót generál a fent látható módon. Miután megkapta a hash jelszót, bemásolhatja a „.screenrc” fájlba, és mentheti. Tehát a „.screenrc” fájl ilyen lesz.

password l2BIBzvIeQNOs

Amikor legközelebb futtatja és leválasztja a képernyőt, a rendszer jelszót kér, amikor megpróbálja újra csatolni az alábbiak szerint:

pungki@mint ~ $ screen -r 5741
Screen password:

Írja be jelszavát, amely „pungki123”, és a képernyő ismét újra csatolódik.

Miután bevezette ezt a képernyőjelszót, és megnyomta a „Ctrl-A” és „x” gombot, a kimenet a következő lesz.

Screen used by Pungki Arianto on mint.
Password:
Screen password:

A rendszer kétszer jelszót kér. Az első jelszó a Linux-jelszó, a második pedig az a jelszó, amelyet a .screenrc fájlba helyezett el.

20. Kilépés a Screen Terminal munkamenetből

A képernyő elhagyásának 2 (két) módja van. Először a „Ctrl-A” és a „d” gombokat használjuk a képernyő leválasztásához. Másodszor, az exit paranccsal leállíthatjuk a képernyőt. Használhatja a „Ctrl-A” és „K” parancsot is a képernyő leállításához.

Screen Command Cheat Sheet

screen -S <session_name>

Indítson új munkamenetet a munkamenet nevével.

screen -ls

A futó munkamenetek/képernyők listája.

screen -x

Csatlakozás futó munkamenethez.

screen -r <session_name>

Csatolás futó munkamenethez névvel.

screen -d <session_name>

Válasszon le egy futó munkamenetet.

Ctrl-a c

Új ablak létrehozása.

Ctrl-a Ctrl-a

Váltás az utoljára meglátogatott aktív ablakra.

Ctrl-a <number>

Váltás ablakra szám szerint.

Ctrl-a ' <number or title>

Váltás ablakra szám vagy név alapján.

Ctrl-a n or Ctrl-a <space>

Váltás a következő ablakra a listában.

Ctrl-a p or Ctrl-a <backspace>

Váltás a lista előző ablakára.

Ctrl-a "

Lásd az ablaklistát.

Ctrl-a w

Az ablaksáv megjelenítése.

Ctrl-a k

Az aktuális ablak leállítása.

Ctrl-a \

Öld meg az összes ablakot.

Ctrl-a A

Az aktuális ablak átnevezése.

Ctrl-a S

Vízszintesen osztott kijelző.

Ctrl-a | or Ctrl-a V

Függőlegesen osztott kijelző.

Ctrl-a tab

Ugrás a következő megjelenítési területre.

Ctrl-a X

Az aktuális régió eltávolítása.

Ctrl-a Q

Távolítsa el az összes régiót, kivéve a jelenlegit.

Ctrl-a H

Bejelentkezés engedélyezése a képernyő-munkamenetben.

Ctrl-a x

Zárolás (jelszóval védett) kijelző.

Ez a screen parancsok napi használatának egy része. A képernyőparancson belül továbbra is sok funkció található. További részletekért láthatja a képernyő kézikönyv oldalát.

Tud más, legjobb példát a képernyőparancsra Linuxban? Ossza meg velünk véleményét az alábbi megjegyzésekben.