Kommandokædeoperatorer er specialtegn, der bruges til at skrive miniature shell-scripts på kommandolinjen. De bruges generelt til at udføre kommandoer i en bestemt rækkefølge, defineret ved placeringen af ​​operatører mellem kommandoerne. Dette er utroligt nyttigt til at automatisere opgaver.

Lad os lære om et par almindelige kædeoperatorer på Linux, der kan hjælpe dig med at udføre opgaver hurtigere og med mindre brugerintervaller.

1. Ampersand-operatøren (&)

Ofte, når du åbner et program eller udfører en kommando fra skallen, skal du enten vente, indtil kommandoen afsluttes eller manuelt afslutte programmet, før du kan fortsætte med at bruge skallen. Det er her og-sand-operatoren (&) kommer ind i billedet.

Ved at tilføje ampersand-operatoren til en kommando, dikterer du skallen til udfør denne Linux-kommando i baggrunden så du kan fortsætte med at bruge skallen ubundet.

gedit &

Normalt, hvis du kører gedit fra terminalen, vil du ikke være i stand til at bruge terminalen, medmindre du lukker teksteditoren. Men ved at tilføje ampersand-operatoren kan du få den til at køre i baggrunden og fortsætte med at bruge skallen med det samme.

instagram viewer

2. Semikolonoperatøren (;)

Semikolonoperatoren er en utrolig nyttig Linux-kædeoperator, som du kan bruge til at udføre kommandoer i en defineret, sekventiel rækkefølge. Bestil dine kommandoer og adskil dem med semikolon.

pwd; mkdir prøve; cdprøve; tryk på fil

Ovenstående syntaks dikterer skallen til at udføre hver kommando efter hinanden. Bemærk, at skallen ikke kontrollerer, om hver kommando afsluttes med succes. Så snart skallen modtager en returkode, går den videre til at udføre den næste kommando.

3. OR-operatøren (||)

OR-operatøren vil kun udføre den kommando, der følger, hvis den foregående kommando mislykkes, dvs. returnerer en udgangskode på 0. Den fungerer som en logisk ELLER-port, der returnerer en værdi på 1, når input er 0.

dårlig_kommando || ls

I dette eksempel syntaks, dårlig_kommando er en falsk kommando, der ikke kan udføres, og da den mislykkes, følger kommandoen efter OR-operatoren, som er ls kommandoen, udføres med succes.

4. Røroperatøren (|)

Røroperatøren dirigerer outputtet af den foregående kommando som input til den efterfølgende kommando. Det bruges mest til at filtrere data med kommandoen grep.

kat test | grep -i "gøre brug af"

Denne kommando sender output af kattekommandoen som input til grep-kommandoen, som derefter filtrerer outputtet mod en specificeret streng.

5. OG-operatøren (&&)

Denne operator fungerer på samme måde som semikolonoperatoren bortset fra, i modsætning til semikolonoperatoren, vil AND operatoren kun udføre kommandoer, hvis den foregående kommando blev udført.

pwd && mkdir test && cd test && dårlig_kommando && ls

I dette eksempel syntaks vil skallen med succes udføre alle kommandoerne indtil dårlig_kommando. Men da bad_command ikke kører, vil skallen returnere en fejl og springe ls-kommandoen over.

6. NOT-operatøren (!)

NOT-operatoren fungerer på samme måde som en undtagen-sætning i programmering. For eksempel, hvis du ønsker at udføre en handling på et stort antal filer i en mappe, men ønsker at udelukke en få baseret på en eller anden parameter, så kan du bruge NOT-operatoren ved at sende parameteren efter NOT-tegnet (!).

rm-r !(*.txt)

Denne eksempelkommando vil rekursivt fjerne alle filer i en mappe undtagen filer, der har en ".txt" udvidelse.

7. Precedence Operator ((..))

Kommandoerne efter AND- og OR-operatorerne afhænger af udgangskoden for den foregående kommando. Disse operatorer er binære og evaluerer kun de to kommandoer, der kommer før og efter dem.

Så når du arbejder med flere operatører, er det vigtigt at sætte grupper og forrang for at sikre, at udførelsessekvensen lever op til dine forventninger.

(ls *.txt > txt-filer.list && cp *.tx ~) && (ls *.deb > deb-pakker.liste && cp *.deb ~) || ekko "Forrangstest!"

I denne eksempelsyntaks skal begge grupper af kommandoer returnere en exit-kode 0 for at sikre en vellykket udførelse af den sidste kommando. Dette eksempel kræver, at begge kommandoer i det første sæt () afsluttes med 0 for at det andet sæt () kan køre.

8. Kombinationsoperatøren ({..})

Som navnet antyder, bruges kombinationsoperatoren til at gruppere kommandoer. Uanset hvilke kommandoer du vil gruppere, kan du placere dem inden for krøllede parenteser, og de vil blive udført afhængigt af udgangskoden for den første kommando.

test -f /etc/passwd && {pwd; dato} && ekko $0; ekko "Hej"

Eksempelsyntaksen vil teste om filen /etc/passwd er til stede, udskriv den aktuelle arbejdsmappe, dato, shell-navn og ekko "Hej".

9. Sammenkædning eller flugtoperatøren (\)

Sammenkædnings- eller escape-operatoren har to funktioner. Du kan enten bruge det til at sammenkæde to kommandoer eller som et escape-tegn, når du arbejder med strenge i skallen.

mkdir test0 test1 \ test2
ekko "Hej! fra det
anden side"

Den første kommando vil lave fire mapper med navnet test0 til test2, og den anden kommando vil udskrive strengen adskilt af en ny linje.

10. Omdirigeringsoperatørerne (>, >>,

Omdirigeringsoperatørerne omdirigerer output eller input til en fil enten ved at omskrive filen eller ved at tilføje den. Hvis du vil omskrive en fil, skal du bruge syntaksen med enkelt vinkelparentes (>). Hvis du vil føje til en fil, skal du bruge den dobbelte vinkelparentes syntaks (>>).

ekko "dsd"> prøve; ekko "bssss">> prøve

I eksempelsyntaksen vil den første kommando overskrive "test"-filen med den angivne streng, men i den anden kommando vil den angivne streng blive tilføjet til testfilen.

Fremskynd din Linux Terminal Workflow

Mens brug af specielle operatører vil strømline opgaveudførelsen betydeligt for dig, er der flere andre måder at fremskynde din arbejdsgang på.

En nem og værdifuld måde at få mere gjort på kortere tid er at gøre dig bekendt med et par praktiske shell-genveje. At vænne sig til disse genveje vil gå langt, og du vil finde dig selv i at stole på dem, så længe du bruger Linux.