20 Eksempler på skjermkommandoer for å administrere Linux-terminaler


Kort: I denne veiledningen vil vi diskutere noen nyttige eksempler på skjermkommandoen. Ved slutten av denne veiledningen vil brukere kunne jobbe med flere shell-økter ved å bruke et enkelt Linux-terminalvindu.

Som Linux-brukere må vi ofte jobbe med langvarige oppgaver, for eksempel – laste ned eller kopiere store filer, utføre tidkrevende databasespørringer og så videre. Noen ganger blir disse viktige oppgavene avsluttet brått på grunn av en økt tidsavbrudd.

For å redusere slike scenarier kan vi bruke kommandoen skjerm, som er et fullskjermprogram som kan brukes til å multiplekse en fysisk konsoll mellom flere prosesser (vanligvis interaktive skall). Den tilbyr en bruker å åpne flere separate terminalforekomster i en enkelt terminalvindusbehandler.

skjerm-applikasjonen er veldig nyttig hvis du har å gjøre med flere programmer fra et kommandolinjegrensesnitt og for å skille programmer fra terminalskallet. Den lar deg også dele øktene dine med andre brukere og koble fra/legge ved terminaløkter.

I denne veiledningen vil vi diskutere hvordan du installerer, konfigurerer og bruker skjermkommandoen på et Linux-system. Gjennom denne veiledningen vil vi forstå bruken og fordelene med skjermkommandoen ved å bruke praktiske eksempler.

Så la oss komme i gang.

Installer Screen Command i Linux

På min Ubuntu Server Edition er kommandoen skjerm installert som standard. Men Linux Mint har ikke en skjerm installert som standard, så jeg må installere den først ved å bruke apt-get-kommandoen før jeg bruker den .

Følg installasjonsprosedyren for distribusjon for å installere skjermen.

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]    

La oss nå bekrefte at kommandoen er installert:

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

Faktisk er skjermen et veldig bra terminalmultiplekserprogram i Linux som er skjult i hundrevis av Linux-kommandoer.

La oss begynne å se bruken av skjerm-kommandoen i Linux med følgende eksempler.

Skjermkommandosyntaks

Syntaksen til kommandoen skjerm er som følger

screen [OPTIONS] [ CMD [ ARGS ] ]

I syntaksen ovenfor kan vi se at alle parametrene er opsjoner og de er representert med hakeparentesene ([]).

1. Startskjerm for første gang

Bare skriv inn skjermen ved ledeteksten. Deretter vil skjermen vise et grensesnitt nøyaktig som ledeteksten.

screen

2. Vis skjermparameter

Når du går inn på skjermen, kan du gjøre alt arbeidet ditt som du er i det vanlige kommandolinjemiljøet. Men siden skjermen er et program, så har den kommandoer eller parametere.

Skriv «Ctrl-A» og «?» uten anførselstegn. Da vil du se alle kommandoer eller parametere på skjermen.

For å komme ut av hjelpeskjermen kan du trykke på «mellomromstasten»-knappen eller «Enter». (Vær oppmerksom på at alle snarveier som bruker "Ctrl-A " gjøres uten anførselstegn).

3. Slik viser du alle åpne Windows

I forrige eksempel startet vi en ny shell-økt ved å bruke skjermkommandoen. La oss nå bruke ctrl-a + "-tastekombinasjonen for å liste alle åpne vinduer i gjeldende skjermøkt:

I utgangen ovenfor kan vi se nummeret og navnet på vinduet. Den første kolonnen representerer vindusnummeret, og den starter fra null.

Den neste kolonnen representerer navnet på vinduet og standardformatet er @:.

4. Hvordan avslutte skjermvindusøkten

Vi kan avslutte den aktive vindusøkten ved å bruke ctrl-a + k-tastkombinasjonene. Det er viktig å merke seg at denne handlingen vil avbryte kommandoutførelsen fra det gjeldende virtuelle vinduet.

I utgangen ovenfor kan vi se at skjerm-kommandoen venter på brukerens bekreftelse. Den viser advarselsmeldingen i nedre venstre hjørne.

Akkurat som andre Linux-kommandoer kan vi bruke 'y' for å fortsette eller 'n' for å avbryte operasjonen.

5. Hvordan starte en skjermøkt med navn

Kommandoen skjerm lar oss lage en økt med et brukerdefinert navn, noe som kommer godt med når det er flere tilgjengelige økter.

Så la oss bruke -S-alternativet til kommandoen for å lage en navngitt økt:

screen -S demo-screen

I kommandoen ovenfor er demoskjermen navnet på økten.

6. Koble fra terminaløkten med skjerm

En av fordelene med en skjerm er at du kan koble den fra. Deretter kan du gjenopprette den uten å miste noe du har gjort på skjermen. Her er eksempelscenariet:

Du er midt i SSH på serveren din. La oss si at du laster ned en 400MB-oppdatering for systemet ditt ved å bruke wget-kommandoen.

Nedlastingsprosessen anslås å ta 2 timer lang. Hvis du kobler fra SSH-økten, eller plutselig mister forbindelsen ved et uhell, stopper nedlastingsprosessen. Du må starte fra begynnelsen igjen. For å unngå det kan vi bruke en skjerm og koble den fra.

Ta en titt på denne kommandoen. Først må du gå inn på skjermen.

screen

Deretter kan du gjøre nedlastingsprosessen. For eksempel på min Linux Mint oppgraderer jeg min dpkg-pakke ved å bruke apt-kommandoen.

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

Mens nedlasting pågår, kan du trykke "Ctrl-A" og "d". Du vil ikke se noe når du trykker på disse knappene. Utgangen vil være slik:

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

7. Fest terminaløkten med skjermen på nytt

Etter at du har koblet fra skjermen, la oss si at du kobler fra SSH-økten og går hjem. I hjemmet ditt begynner du å SSH igjen til serveren din, og du vil se fremdriften til nedlastingsprosessen. For å gjøre det, må du gjenopprette skjermen. Du kan kjøre denne kommandoen:

pungki@mint ~ $ screen -r

Og du vil se at prosessen du forlot fortsatt kjører.

Når du har mer enn 1 skjermøkt, må du skrive inn skjermøkten ID. Bruk skjermen -ls for å se hvor mange skjermer som er tilgjengelige.

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

Hvis du vil gjenopprette skjermen 7849.pts-0.mint, skriver du inn denne kommandoen.

pungki@mint ~ $ screen -r 7849

8. Bruke Multiple Screen Terminal Windows

Når du trenger mer enn 1 skjerm for å gjøre jobben din, er det mulig? Ja, det er det. Du kan kjøre flere skjermvinduer samtidig. Det er 2 (to) måter å gjøre det på.

Først kan du koble fra den første skjermen og kjøre en annen skjerm på den virkelige terminalen. For det andre gjør du en nestet skjerm som vist.

For å lage nye vinduer, bruk ctrl-a + c-tastekombinasjonen to ganger for å lage to nye vinduer. La oss deretter bruke ctrl-a + " tastekombinasjonen for å vise alle aktive vinduer:

I utgangen ovenfor kan vi se at det nå er tre vinduer.

9. Hvordan gi nytt navn til et skjermvindu

I forrige eksempel opprettet vi to nye vinduer. Standardnavnene deres gir imidlertid ingen detaljer om dem. I slike tilfeller kan vi gi dem noen meningsfulle navn.

Vi kan bruke ctrl-a + A-tastekombinasjonen for å gi nytt navn til gjeldende vindusøkt. Denne tastekombinasjonen ber en bruker angi en vindustittel:

10. Bytte mellom skjermterminalvinduer

I det forrige eksemplet opprettet vi flere vinduer. La oss nå se hvordan du bytter mellom dem.

La oss først liste opp alle aktive vinduer ved å bruke ctrl-a + "-tastkombinasjonen. Deretter bruker du pil opp eller pil ned for å velge riktig vindu. Trykk til slutt på enter-tasten for å bytte til det valgte vindu.

I dette eksemplet har vi valgt vinduet med tittelen – db-query.

11. Hvordan gå til neste skjermvindu

Vi kan bruke ctrl-a + n tastekombinasjonen for å gå til neste vinduer. La oss forstå dette med et eksempel.

Bytt først til det første vinduet og bekreft det ved å bruke ctrl-a + " tastekombinasjonen:

La oss nå trykke ctrl-a + n-tastkombinasjonen to ganger for å gå til det tredje vinduet og bruke ctrl-a + "-tastekombinasjonen for å bekrefte det samme.

I utgangen ovenfor kan vi se at vi nå er på det tredje vinduet.

12. Hvordan flytte til forrige skjermvindu

På lignende måte kan vi bruke ctrl-a + p-kombinasjonen for å bytte til forrige vindu.

For øyeblikket er vi på det tredje vinduet. Så la oss bruke ctrl-a + p-tastekombinasjonen to ganger og bekrefte at vi er i det første vinduet igjen:

I utgangen ovenfor kan vi se at nå kom vi tilbake til det første vinduet.

13. Hvordan bytte mellom gjeldende og forrige vindu

Noen ganger vil vi bare bytte mellom to vinduer. I slike tilfeller kan vi bruke tastekombinasjonen ctrl-a + ctrl-a.

For å forstå dette, bytt først til det første vinduet:

Deretter bytter du til det siste vinduet:

Til slutt, bruk ctrl-a + ctrl-a tastekombinasjonen for å hoppe til det første vinduet igjen.

14. Hvordan hoppe til et bestemt skjermvindu

I de forrige eksemplene så vi ulike måter å bytte mellom vinduer på. Noen ganger ønsker vi imidlertid å hoppe til et bestemt vindu. I slike scenarier kan vi bruke vindusnumrene.

Først, la oss bruke ctrl-a + " tastekombinasjonen for å finne vindusnummeret:

I utgangen ovenfor representerer den første kolonnen vindusnummeret. Det er viktig å merke seg at skjermkommandoen begynner å nummerere fra null.

La oss nå bruke ctrl-a + 2-tastekombinasjonen for å hoppe til det tredje vinduet og bekrefte at vi er i riktig vindu:

15. Hvordan dele et skjermvindu horisontalt

Akkurat som vanlige terminaler kan vi også dele skjermvinduet. Vi kan bruke ctrl-a + S tastekombinasjonen for å dele vinduet horisontalt.

Nå kan vi bruke ctrl-a + tab tastekombinasjonen for å hoppe mellom regionene.

Til slutt kan vi bruke ctrl-a + X-tastekombinasjonen for å fjerne gjeldende region. Det er viktig å merke seg at her må vi bruke et X-tegn med stor bokstav.

16. Hvordan dele et skjermvindu vertikalt

På samme måte kan vi bruke ctrl-a + | tastekombinasjonen for å dele det gjeldende vinduet vertikalt:

I tillegg til dette kan vi også bruke ctrl-a + tab-tastkombinasjonsbryteren mellom regionene og ctrl-a + X-tastekombinasjonen for å lukke gjeldende region.

17. Aktiver skjermlogging i Linux

Noen ganger er det viktig å ta opp hva du har gjort mens du er i konsollen. La oss si at du er en Linux-administrator som administrerer mange Linux-servere.

Med denne skjerm-loggingen trenger du ikke å skrive ned hver eneste kommando du har utført. For å aktivere skjermloggingsfunksjonen, trykk bare «Ctrl-A» og «H“. (Vær forsiktig, vi bruker store «H»-bokstaver. Bruk av «h» uten store bokstaver, vil bare lage et skjermbilde av skjermen i en annen fil som heter papirkopi) .

Nederst til venstre på skjermen vil det være et varsel som forteller deg å like: Oppretter loggfil "screenlog.0". Du finner en screenlog.0-fil i hjemmekatalogen din.

Denne funksjonen vil legge til alt du gjør mens du er i skjermvinduet. For å lukke skjermen for å logge løpende aktivitet, trykk "Ctrl-A" og "H" igjen.

En annen måte å aktivere loggingsfunksjonen på, kan du legge til parameteren «-L» første gang du kjører skjermen. Kommandoen vil være slik.

pungki@mint ~ $ screen -L

18. Lås Linux-terminalskjermen

Skjermen har også en snarvei for å låse skjermen. Du kan trykke på «Ctrl-A» og «x»-snarveiene for å låse skjermen. Dette er nyttig hvis du vil låse skjermen raskt. Her er et eksempel på låseskjermen etter at du har trykket på snarveien.

Screen used by Pungki Arianto  on mint.
Password:

Du kan bruke Linux-passordet ditt for å låse det opp.

19. Legg til passord til skjermøkt

Av sikkerhetsgrunner kan det være lurt å legge inn passordet til skjermøkten. Et passord vil bli spurt når du vil feste på igjen skjermen. Dette passordet er forskjellig fra Låseskjerm-mekanismen ovenfor.

For å gjøre skjermen passordbeskyttet, kan du redigere «$HOME/.screenrc»-filen. Hvis filen ikke eksisterer, kan du opprette den manuelt. Syntaksen vil være slik.

password crypt_password

For å lage "krypt_passord" ovenfor, kan du bruke kommandoen "mkpasswd" på Linux. Her er kommandoen med passordet "pungki123".

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd vil generere et hash-passord som vist ovenfor. Når du har fått hash-passordet, kan du kopiere det til ".screenrc"-filen og lagre det. Så «.screenrc»-filen vil være slik.

password l2BIBzvIeQNOs

Neste gang du kjører skjermen og kobler den fra, vil du bli spurt om et passord når du prøver å feste den på nytt, som vist nedenfor:

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

Skriv inn passordet ditt, som er «pungki123» og skjermen vil festes på nytt igjen.

Etter at du har implementert dette skjermpassordet og trykket «Ctrl-A» og «x“, vil utdataene være slik.

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

Et passord vil bli spurt to ganger. Det første passordet er Linux-passordet, og det andre passordet er passordet du legger inn i .screenrc-filen.

20. Forlater skjermen terminaløkt

Det er 2 (to) måter å forlate skjermen på. Først bruker vi «Ctrl-A» og «d» for å koble fra skjermen. For det andre kan vi bruke exit-kommandoen for å avslutte skjermen. Du kan også bruke "Ctrl-A" og "K" for å drepe skjermen.

Skjermkommando-jukseark

screen -S <session_name>

Start en ny økt med øktnavn.

screen -ls

Liste over løpsøkter/skjermer.

screen -x

Fest til en løpeøkt.

screen -r <session_name>

Fest til en løpeøkt med navn.

screen -d <session_name>

Koble fra en løpeøkt.

Ctrl-a c

Opprett nytt vindu.

Ctrl-a Ctrl-a

Bytt til sist besøkte aktivt vindu.

Ctrl-a <number>

Bytt til vindu etter nummer.

Ctrl-a ' <number or title>

Bytt til vindu etter nummer eller navn.

Ctrl-a n or Ctrl-a <space>

Bytt til neste vindu i listen.

Ctrl-a p or Ctrl-a <backspace>

Bytt til forrige vindu i listen.

Ctrl-a "

Se vindusliste.

Ctrl-a w

Vis vinduslinje.

Ctrl-a k

Drep gjeldende vindu.

Ctrl-a \

Drep alle vinduer.

Ctrl-a A

Gi nytt navn til gjeldende vindu.

Ctrl-a S

Del skjermen horisontalt.

Ctrl-a | or Ctrl-a V

Del skjermen vertikalt.

Ctrl-a tab

Gå til neste visningsområde.

Ctrl-a X

Fjern gjeldende region.

Ctrl-a Q

Fjern alle regioner bortsett fra den gjeldende.

Ctrl-a H

Aktiver pålogging i skjermøkten.

Ctrl-a x

Lås (passordbeskyttet) skjerm.

Det er noe av skjerm-kommandobruken på daglig basis. Det er fortsatt mange funksjoner inne i skjermkommandoen. Du kan se man-siden for skjermen for mer detaljer.

Kjenner du til andre beste eksempler på skjermkommandoen i Linux? Fortell oss dine synspunkter i kommentarene nedenfor.