Kommandokjedeoperatorer er spesialtegn som brukes til å skrive miniatyrskallskript på kommandolinjen. De brukes vanligvis til å utføre kommandoer i en bestemt rekkefølge, definert av plasseringen av operatører mellom kommandoene. Dette er utrolig nyttig for å automatisere oppgaver.
La oss lære om noen vanlige kjedeoperatører på Linux som kan hjelpe deg med å fullføre oppgaver raskere og med mindre brukerintervaller.
1. Ampersand-operatøren (&)
Ofte når du åpner et program eller utfører en kommando fra skallet, må du enten vente til kommandoen avsluttes eller gå ut av programmet manuelt før du kan fortsette å bruke skallet. Her kommer og-tegn-operatoren (&) inn i bildet.
Ved å legge til og-tegn-operatoren til en kommando, dikterer du skallet til kjør den Linux-kommandoen i bakgrunnen slik at du kan fortsette å bruke skallet ubundet.
gedit &
Vanligvis, hvis du kjører gedit fra terminalen, vil du ikke kunne bruke terminalen med mindre du lukker tekstredigeringsprogrammet. Men ved å legge til ampersand-operatoren kan du få den til å kjøre i bakgrunnen og fortsette å bruke skallet umiddelbart.
2. Semikolonoperatøren (;)
Semikolonoperatoren er en utrolig nyttig Linux-kjedeoperator som du kan bruke til å utføre kommandoer i en definert, sekvensiell rekkefølge. Bestill kommandoene dine og separer dem med semikolon.
pwd; mkdir test; cdtest; trykk på fil
Syntaksen ovenfor dikterer skallet for å utføre hver kommando etter hverandre. Merk at skallet ikke sjekker om hver kommando avsluttes. Så snart skallet mottar en returkode, går det videre til å utføre neste kommando.
3. OR-operatøren (||)
OR-operatøren vil utføre kommandoen som følger bare hvis den foregående kommandoen mislykkes, dvs. returnerer en utgangskode på 0. Den fungerer som en logisk ELLER-port, som returnerer en verdi på 1 når inngangen er 0.
dårlig_kommando || ls
I dette eksempelet syntaks, dårlig_kommando er en falsk kommando som ikke vil utføres, og siden den mislykkes, vil kommandoen etterfølge OR-operatøren, som er ls-kommandoen, vil kjøre vellykket.
4. Røroperatøren (|)
Røroperatøren dirigerer utgangen av den foregående kommandoen som input til den etterfølgende kommandoen. Det er mest brukt til å filtrere data med grep-kommandoen.
kattetest | grep -i "benytte seg av"
Denne kommandoen sender utdataene til kattekommandoen som input til grep-kommandoen, som deretter filtrerer utdataene mot en spesifisert streng.
5. OG-operatøren (&&)
Denne operatoren fungerer på lignende måter som semikolonoperatoren bortsett fra, i motsetning til semikolonoperatoren, AND-operatoren vil bare utføre kommandoer hvis den foregående kommandoen ble utført.
pwd && mkdir test && cd test && dårlig_kommando && ls
I denne eksempelsyntaksen vil skallet utføre alle kommandoene frem til dårlig_kommando. Men siden bad_command ikke kjører, vil skallet returnere en feil og hoppe over ls-kommandoen.
6. NOT-operatøren (!)
NOT-operatøren fungerer på lignende måter som en unntatt-setning i programmering. For eksempel, hvis du ønsker å utføre en operasjon på et stort antall filer i en katalog, men ønsker å ekskludere en få basert på en eller annen parameter, så kan du bruke NOT-operatoren ved å sende parameteren etter NOT-tegnet (!).
rm-r !(*.tekst)
Denne eksempelkommandoen vil rekursivt fjerne alle filer i en katalog bortsett fra filer som har en ".tekst" Utvidelse.
7. The Precedence Operator ((..))
Kommandoene etter AND- og OR-operatorene avhenger av utgangskoden til den foregående kommandoen. Disse operatorene er binære og evaluerer bare de to kommandoene som kommer før og etter dem.
Så når du jobber med flere operatører, er det viktig å angi grupper og forrang for å sikre at utførelsessekvensen oppfyller dine forventninger.
(ls *.txt > txt-filer.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || ekko "Forrangstest!"
I denne eksempelsyntaksen må begge gruppene med kommandoer returnere en utgangskode 0 for å sikre vellykket utførelse av den siste kommandoen. Dette eksemplet krever at begge kommandoene i det første settet () avsluttes med 0 for at det andre settet () skal kjøre.
8. Kombinasjonsoperatøren ({..})
Som navnet antyder, brukes kombinasjonsoperatoren til å gruppere kommandoer. Uansett hvilke kommandoer du vil gruppere, kan du plassere dem innenfor krøllete parenteser, og de vil bli utført avhengig av utgangskoden til den første kommandoen.
test -f /etc/passwd && {pwd; Dato} && ekko $0; ekko "Hallo"
Eksempelsyntaksen vil teste om filen /etc/passwd er tilstede, skriv ut gjeldende arbeidskatalog, dato, skallnavn og ekko "Hei".
9. Sammenkobling eller rømningsoperatør (\)
Sammenkoblings- eller rømningsoperatøren har to funksjoner. Du kan enten bruke den til å sette sammen to kommandoer eller som et escape-tegn når du arbeider med strenger i skallet.
mkdir test0 test1 \ test2
ekko "Hei! fra de
andre siden"
Den første kommandoen vil lage fire kataloger kalt test0 til test2, og den andre kommandoen vil skrive ut strengen atskilt med en ny linje.
10. Omdirigeringsoperatørene (>, >>,
Omdirigeringsoperatørene omdirigerer utdata eller input til en fil, enten ved å omskrive filen eller ved å legge til den. Hvis du vil omskrive en fil, må du bruke syntaksen for enkeltvinkelparentes (>). Hvis du vil legge til en fil, må du bruke syntaksen for dobbel vinkelparentes (>>).
ekko "dsd"> test; ekko "bssss">> test
I eksempelsyntaksen vil den første kommandoen overskrive "test"-filen med den angitte strengen, men i den andre kommandoen vil den angitte strengen bli lagt til testfilen.
Få fart på arbeidsflyten for Linux-terminalen
Selv om bruk av spesielle operatører vil strømlinjeforme oppgaveutførelsen betydelig for deg, er det flere andre måter å øke hastigheten på arbeidsflyten på.
En enkel og verdig måte å få gjort mer på kortere tid er å gjøre deg kjent med noen få praktiske shell-snarveier. Å venne seg til disse snarveiene vil gå langt, og du vil finne deg selv å stole på dem så lenge du bruker Linux.