20 primjera naredbi na ekranu za upravljanje Linux terminalima


Ukratko: U ovom vodiču ćemo raspravljati o nekim korisnim primjerima naredbe ekrana. Do kraja ovog vodiča, korisnici će moći da rade sa više sesija ljuske koristeći jedan prozor terminala Linuxa.

Kao korisnici Linuxa, često moramo raditi na dugotrajnim zadacima, kao što su – preuzimanje ili kopiranje velikih datoteka, izvršavanje dugotrajnih upita baze podataka i tako dalje. Ponekad se ovi važni zadaci naglo prekinu zbog isteka sesije.

Da bismo ublažili takve scenarije, možemo koristiti naredbu screen, koja je softverski program za cijeli ekran koji se može koristiti za multipleksiranje fizičke konzole između nekoliko procesa (obično interaktivne ljuske). Nudi korisniku da otvori nekoliko zasebnih terminalnih instanci unutar jednog upravitelja prozora terminala.

Aplikacija screen je veoma korisna ako imate posla sa više programa iz interfejsa komandne linije i za odvajanje programa od ljuske terminala. Također vam omogućava da podijelite svoje sesije s drugim korisnicima i odvojite/priključite terminalske sesije.

U ovom vodiču ćemo razgovarati o tome kako instalirati, konfigurirati i koristiti screen komandu na Linux sistemu. Kroz ovaj vodič ćemo razumjeti upotrebu i prednosti screen komande koristeći praktične primjere.

Pa da počnemo.

Instalirajte Screen Command u Linux

Na mom Ubuntu Server Edition, komanda screen je instalirana po defaultu. Ali, Linux Mint nema ekran instaliran prema zadanim postavkama, tako da ga moram prvo instalirati pomoću apt-get komande prije nego što ga koristim .

Pratite proceduru instalacije distribucije da biste instalirali ekran.

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]    

Sada, hajde da proverimo da li je komanda uspešno instalirana:

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

Zapravo, screen je vrlo dobar terminalski multiplekser program u Linuxu koji je skriven unutar stotina Linux komandi.

Počnimo da vidimo upotrebu naredbe screen u Linuxu sa sljedećim primjerima.

Sintaksa naredbi ekrana

Sintaksa naredbe screen je sljedeća

screen [OPTIONS] [ CMD [ ARGS ] ]

U gornjoj sintaksi, možemo vidjeti da su svi parametri opcije i da su predstavljeni uglastim zagradama ([]).

1. Početni ekran po prvi put

Samo ukucajte screen na komandnoj liniji. Zatim će na ekranu prikazati interfejs tačno kao u komandnoj liniji.

screen

2. Prikaži parametar ekrana

Kada uđete u ekran, možete raditi sav svoj posao kao što ste u normalnom okruženju komandne linije. Ali pošto je ekran aplikacija, tako da ima komande ili parametre.

Upišite “Ctrl-A” i “?” bez navodnika. Tada ćete vidjeti sve komande ili parametre na ekranu.

Da izađete sa ekrana pomoći, možete pritisnuti dugme “razmak ” ili “Enter”. (Imajte na umu da se sve prečice koje koriste “Ctrl-A” rade bez navodnika).

3. Kako prikazati listu svih otvorenih Windowsa

U prethodnom primjeru, započeli smo novu sesiju ljuske pomoću naredbe screen. Sada koristimo kombinaciju tipki ctrl-a + " da ispišemo sve otvorene prozore trenutne sesije ekrana:

U gornjem izlazu možemo vidjeti broj i naziv prozora. Prva kolona predstavlja broj prozora i počinje od nule.

Sljedeća kolona predstavlja ime prozora i njegov zadani format je @:.

4. Kako prekinuti sesiju prozora ekrana

Možemo prekinuti aktivnu sesiju prozora koristeći kombinaciju tipki ctrl-a + k. Važno je napomenuti da će ova radnja prekinuti izvršenje naredbe iz trenutnog virtuelnog prozora.

U gornjem izlazu možemo vidjeti da komanda screen čeka potvrdu korisnika. Prikazuje poruku upozorenja u lijevom donjem uglu.

Baš kao i druge Linux komande, možemo koristiti 'y' za nastavak ili 'n' da prekinemo operaciju.

5. Kako započeti ekransku sesiju s imenom

Komanda screen nam omogućava da kreiramo sesiju sa korisnički definisanim imenom, što je korisno kada je dostupno više sesija.

Dakle, koristimo -S opciju naredbe da kreiramo imenovanu sesiju:

screen -S demo-screen

U gornjoj naredbi, demo ekran je naziv sesije.

6. Odvojite terminalsku sesiju sa ekranom

Jedna od prednosti ekrana je da ga možete odvojiti. Zatim ga možete vratiti bez gubitka bilo čega što ste uradili na ekranu. Evo primjera scenarija:

Nalazite se u sredini SSH na svom serveru. Recimo da preuzimate 400MB zakrpu za svoj sistem koristeći komandu wget.

Procjenjuje se da će proces preuzimanja trajati 2 sata. Ako prekinete SSH sesiju ili se iznenada veza slučajno izgubi, proces preuzimanja će se zaustaviti. Morate ponovo početi iz početka. Da bismo to izbjegli, možemo koristiti ekran i odvojiti ga.

Pogledajte ovu naredbu. Prvo morate ući na ekran.

screen

Zatim možete obaviti proces preuzimanja. Na primjer, na mom Linux Mintu, nadograđujem svoj dpkg paket koristeći apt komandu.

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

Dok je preuzimanje u toku, možete pritisnuti “Ctrl-A” i “d”. Nećete vidjeti ništa kada pritisnete te tipke. Izlaz će biti ovakav:

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

7. Ponovo spojite terminalsku sesiju sa ekranom

Nakon što odvojite ekran, recimo da prekidate vezu sa SSH sesijom i idete kući. U svom domu, ponovo počinjete SSH na svom serveru i želite vidjeti napredak vašeg procesa preuzimanja. Da biste to učinili, morate vratiti ekran. Možete pokrenuti ovu naredbu:

pungki@mint ~ $ screen -r

I vidjet ćete da proces koji ste ostavili još uvijek radi.

Kada imate više od 1 sesije ekrana, morate upisati ID sesije ekrana. Koristite ekran -ls da vidite koliko je ekrana dostupno.

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

Ako želite da vratite ekran 7849.pts-0.mint, upišite ovu naredbu.

pungki@mint ~ $ screen -r 7849

8. Korišćenje Windows terminala sa više ekrana

Kada vam je potrebno više od 1 ekrana da biste obavili svoj posao, da li je to moguće? Da, jeste. Možete pokrenuti više prozora ekrana u isto vrijeme. Postoje 2 (dva) načina da to uradite.

Prvo, možete odvojiti prvi ekran i pokrenuti drugi ekran na stvarnom terminalu. Drugo, radite ugniježđeni ekran kao što je prikazano.

Da kreirate nove prozore, koristite kombinaciju tastera ctrl-a + c dva puta da kreirate dva nova prozora. Zatim, upotrijebimo kombinaciju tipki ctrl-a + " da ispišemo sve aktivne prozore:

U gornjem izlazu možemo vidjeti da sada postoje tri prozora.

9. Kako preimenovati prozor ekrana

U prethodnom primjeru kreirali smo dva nova prozora. Međutim, njihova zadana imena ne daju nikakve detalje o njima. U takvim slučajevima možemo im dodijeliti neka smislena imena.

Možemo koristiti kombinaciju tipki ctrl-a + A da preimenujemo trenutnu sesiju prozora. Ova kombinacija tipki traži od korisnika da postavi naslov prozora:

10. Prebacivanje između prozora terminala ekrana

U prethodnom primjeru kreirali smo više prozora. Sada da vidimo kako se prebacivati između njih.

Prvo, navedite sve aktivne prozore koristeći kombinaciju tipki ctrl-a + ". Zatim koristite tipku sa strelicom gore ili dolje da odaberete odgovarajući prozor. Na kraju, pritisnite tipku enter da se prebacite na odabrani prozor.

U ovom primjeru, odabrali smo prozor s naslovom – db-query.

11. Kako preći na prozor sljedećeg ekrana

Možemo koristiti kombinaciju tipki ctrl-a + n za prelazak na sljedeće prozore. Hajde da to shvatimo na primjeru.

Prvo se prebacite na prvi prozor i potvrdite ga kombinacijom tipki ctrl-a + ":

Sada, hajde da pritisnemo kombinaciju tipki ctrl-a + n dva puta da pređemo na treći prozor i koristimo kombinaciju tipki ctrl-a + " da potvrdimo isto.

U gornjem izlazu, možemo vidjeti da smo sada na trećem prozoru.

12. Kako preći na prethodni prozor

Na sličan način možemo koristiti kombinaciju ctrl-a + p da se prebacimo na prethodni prozor.

Trenutno smo na trećem prozoru. Dakle, koristimo kombinaciju tipki ctrl-a + p dva puta i provjerimo jesmo li ponovo na prvom prozoru:

U gornjem izlazu, možemo vidjeti da smo se sada vratili na prvi prozor.

13. Kako se prebaciti između trenutnog i prethodnog prozora

Ponekad samo želimo da se prebacimo između dva prozora. U takvim slučajevima možemo koristiti kombinaciju tipki ctrl-a + ctrl-a.

Da biste ovo razumjeli, prvo se prebacite na prvi prozor:

Zatim se prebacite na zadnji prozor:

Konačno, koristite kombinaciju tipki ctrl-a + ctrl-a da ponovo skočite na prvi prozor.

14. Kako skočiti na određeni prozor ekrana

U prethodnim primjerima vidjeli smo različite načine za prebacivanje između prozora. Međutim, ponekad želimo da skočimo na određeni prozor. U takvim scenarijima možemo koristiti brojeve prozora.

Prvo, upotrijebimo kombinaciju tipki ctrl-a + " da pronađemo broj prozora:

U gornjem izlazu, prva kolona predstavlja broj prozora. Važno je napomenuti da ekranska komanda počinje numerisati od nule.

Sada, koristimo kombinaciju tipki ctrl-a + 2 da skočimo na treći prozor i provjerimo da li smo u ispravnom prozoru:

15. Kako horizontalno podijeliti prozor ekrana

Baš kao i obični terminali, možemo također podijeliti prozor ekrana. Možemo koristiti kombinaciju tipki ctrl-a + S da horizontalno podijelimo prozor.

Sada možemo koristiti kombinaciju tipki ctrl-a + tab za skakanje između regija.

Na kraju, možemo koristiti kombinaciju tipki ctrl-a + X da uklonimo trenutnu regiju. Važno je napomenuti da ovdje moramo koristiti veliko slovo X.

16. Kako vertikalno podijeliti prozor ekrana

Slično, možemo koristiti kombinaciju tipki ctrl-a + | da vertikalno podijelimo trenutni prozor:

Osim toga, možemo koristiti i kombinaciju tipki ctrl-a + tab prekidač između regija i kombinaciju tipki ctrl-a + X da zatvorimo trenutnu regiju.

17. Omogućite prijavljivanje ekrana u Linuxu

Ponekad je važno snimiti šta ste uradili dok ste u konzoli. Recimo da ste Linux administrator koji upravlja velikim brojem Linux servera.

Sa ovim ekranom evidentiranjem, ne morate zapisivati svaku pojedinačnu naredbu koju ste uradili. Da aktivirate funkciju evidentiranja ekrana, samo pritisnite “Ctrl-A” i “H”. (Molimo budite oprezni, koristimo velika slova 'H'. Korištenje ne-velikih 'h', kreirat će samo snimak ekrana u drugom fajlu pod nazivom hardcopy) .

U donjem lijevom dijelu ekrana će se pojaviti obavijest koja vam govori da vam se sviđa: Kreiranje logfila „screenlog.0“. Naći ćete datoteku screenlog.0 u svom početnom direktoriju.

Ova funkcija će dodati sve što radite dok ste u prozoru ekrana. Da biste zatvorili ekran i zabilježili aktivnost, ponovo pritisnite “Ctrl-A” i “H”.

Drugi način da aktivirate funkciju evidentiranja, možete dodati parametar “-L” kada prvi put pokrenete ekran. Komanda će biti ovakva.

pungki@mint ~ $ screen -L

18. Zaključajte ekran Linux terminala

Ekran također ima prečicu za zaključavanje ekrana. Možete pritisnuti prečice “Ctrl-A” i “x” da zaključate ekran. Ovo je zgodno ako želite brzo zaključati ekran. Evo primjera izlaza zaključanog ekrana nakon što pritisnete prečicu.

Screen used by Pungki Arianto  on mint.
Password:

Možete koristiti svoju lozinku za Linux da je otključate.

19. Dodajte lozinku sesiji ekrana

Iz sigurnosnih razloga, možda ćete htjeti staviti lozinku u svoju sesiju ekrana. Lozinka će se tražiti kad god želite da ponovno pričvrstite ekran. Ova lozinka se razlikuje od gornjeg mehanizma Zaključani ekran.

Da biste zaštitili svoj ekran lozinkom, možete urediti datoteku “$HOME/.screenrc”. Ako datoteka ne postoji, možete je kreirati ručno. Sintaksa će biti ovakva.

password crypt_password

Za kreiranje “crypt_password” iznad, možete koristiti naredbu “mkpasswd” na Linuxu. Evo naredbe sa lozinkom „pungki123“.

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd će generirati hash lozinku kao što je prikazano iznad. Kada dobijete hash lozinku, možete je kopirati u svoj “.screenrc” fajl i sačuvati. Dakle, fajl “.screenrc” će biti ovakav.

password l2BIBzvIeQNOs

Sljedeći put kada pokrenete ekran i odvojite ga, tražit će se lozinka kada pokušate da ga ponovno spojite, kao što je prikazano u nastavku:

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

Unesite svoju lozinku, a to je “pungki123” i ekran će se ponovo ponovo pričvrstiti.

Nakon što implementirate ovu lozinku na ekranu i pritisnete “Ctrl-A” i “x“, onda će izlaz biti ovakav.

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

Lozinka će vam biti zatražena dvaput. Prva lozinka je vaša Linux lozinka, a druga lozinka je lozinka koju ste stavili u datoteku .screenrc.

20. Napuštanje terminalske sesije ekrana

Postoje 2 (dva) načina da napustite ekran. Prvo, koristimo “Ctrl-A” i “d” da odvojimo ekran. Drugo, možemo koristiti naredbu exit da prekinemo ekran. Također možete koristiti “Ctrl-A” i “K” da ugasite ekran.

Obrazac za naredbe ekrana

screen -S <session_name>

Započnite novu sesiju s imenom sesije.

screen -ls

Lista aktivnih sesija/ekrana.

screen -x

Priključite sesiji koja radi.

screen -r <session_name>

Priložite sesiji koja je u toku sa imenom.

screen -d <session_name>

Odvojite tekuću sesiju.

Ctrl-a c

Kreirajte novi prozor.

Ctrl-a Ctrl-a

Promijenite na posljednji posjećeni aktivni prozor.

Ctrl-a <number>

Promijenite u prozor po broju.

Ctrl-a ' <number or title>

Promijenite u prozor po broju ili imenu.

Ctrl-a n or Ctrl-a <space>

Promjena na sljedeći prozor na listi.

Ctrl-a p or Ctrl-a <backspace>

Promjena na prethodni prozor na listi.

Ctrl-a "

Pogledajte listu prozora.

Ctrl-a w

Prikaži traku prozora.

Ctrl-a k

Ukloni trenutni prozor.

Ctrl-a \

Ubijte sve prozore.

Ctrl-a A

Preimenujte trenutni prozor.

Ctrl-a S

Podijelite ekran horizontalno.

Ctrl-a | or Ctrl-a V

Podijelite ekran okomito.

Ctrl-a tab

Skoči na sljedeću regiju prikaza.

Ctrl-a X

Ukloni trenutnu regiju.

Ctrl-a Q

Uklonite sve regije osim trenutne.

Ctrl-a H

Omogućite prijavu u sesiju ekrana.

Ctrl-a x

Zaključavanje ekrana (zaštita lozinkom).

To su neke od naredbi screen koje se svakodnevno koriste. Još uvijek postoji mnogo funkcija unutar screen komande. Za više detalja možete vidjeti manu stranicu ekrana.

Znate li za još neki najbolji primjer screen komande u Linuxu? Javite nam svoje stavove u komentarima ispod.