Kommandokedjeoperatorer är specialtecken som används för att skriva miniatyrskalskript på kommandoraden. De används vanligtvis för att utföra kommandon i en viss sekvens, definierad av placeringen av operatorer mellan kommandona. Detta är otroligt användbart för att automatisera uppgifter.

Låt oss lära oss om några vanliga kedjeoperatörer på Linux som kan hjälpa dig att slutföra uppgifter snabbare och med mindre användarintervall.

1. Ampersand-operatören (&)

Ofta när du öppnar ett program eller kör ett kommando från skalet måste du antingen vänta tills kommandot avslutas eller manuellt avsluta programmet innan du kan fortsätta använda skalet. Här kommer et-tecken-operatorn (&) in i bilden.

Genom att lägga till et-tecken-operatorn till valfritt kommando, dikterar du skalet till kör Linux-kommandot i bakgrunden så att du kan fortsätta använda skalet obundet.

gedit &

Om du kör gedit från terminalen kommer du vanligtvis inte att kunna använda terminalen om du inte stänger textredigeraren. Men genom att lägga till et-tecken-operatorn kan du få den att köras i bakgrunden och fortsätta att använda skalet omedelbart.

instagram viewer

2. Semikolonoperatören (;)

Semikolonoperatorn är en otroligt användbar Linux-kedjeoperator som du kan använda för att utföra kommandon i en definierad, sekventiell ordning. Ordna dina kommandon och separera dem med semikolon.

pwd; mkdir testa; CDtesta; tryck på filen

Ovanstående syntax dikterar skalet för att utföra varje kommando efter varandra. Observera att skalet inte kontrollerar om varje kommando avslutas framgångsrikt. Så snart skalet tar emot en returkod går det vidare till att köra nästa kommando.

3. OR-operatören (||)

ELLER-operatören kommer att utföra kommandot som följer endast om det föregående kommandot misslyckas, dvs. returnerar en utgångskod på 0. Den fungerar som en logisk ELLER-grind, som returnerar värdet 1 när ingången är 0.

bad_command || ls

I det här exemplet syntax, dåligt_kommando är ett falskt kommando som inte kommer att köras och eftersom det misslyckas kommer kommandot efter OR-operatorn, som är kommandot ls, kommer att köras framgångsrikt.

4. Röroperatören (|)

Röroperatören styr utmatningen av föregående kommando som indata till det efterföljande kommandot. Det används oftast för att filtrera data med kommandot grep.

katttest | grep -i "använda"

Detta kommando skickar utdata från kattkommandot som indata till kommandot grep, som sedan filtrerar utdata mot en specificerad sträng.

5. OCH-operatören (&&)

Denna operator fungerar på liknande sätt som semikolonoperatorn förutom, till skillnad från semikolonoperatorn, kommer AND-operatorn endast att utföra kommandon om det föregående kommandot utfördes framgångsrikt.

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

I det här exemplet kommer skalet att utföra alla kommandon fram till dåligt_kommando. Men eftersom bad_command inte kan köras kommer skalet att returnera ett fel och hoppa över kommandot ls.

6. NOT-operatören (!)

NOT-operatorn fungerar på liknande sätt som en undantagssats i programmering. Om du till exempel vill utföra en operation på ett stort antal filer i en katalog men vill utesluta en få baserat på någon parameter, då kan du använda NOT-operatorn genom att skicka parametern efter NOT-tecknet (!).

rm-r !(*.Text)

Detta exempelkommando kommer rekursivt att ta bort alla filer i en katalog förutom filer som har en ".Text" förlängning.

7. The Precedence Operator ((..))

Kommandona som följer AND- och ELLER-operatorerna beror på utgångskoden för föregående kommando. Dessa operatorer är binära och utvärderar bara de två kommandon som kommer före och efter dem.

Så när du arbetar med flera operatörer är det viktigt att ställa in grupper och prioritet för att säkerställa att exekveringssekvensen motsvarar dina förväntningar.

(ls *.txt > txt-filer.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || eko "Företrädestest!"

I denna exempelsyntax måste båda grupperna av kommandon returnera en utgångskod 0 för att säkerställa framgångsrik exekvering av det sista kommandot. Det här exemplet kräver att båda kommandona i den första uppsättningen () avslutas med 0 för att den andra uppsättningen () ska köras.

8. Kombinationsoperatören ({..})

Som namnet antyder används kombinationsoperatorn för att gruppera kommandon. Vilka kommandon du än vill gruppera kan du placera dem inom parenteser, och de kommer att utföras beroende på utgångskoden för det första kommandot.

testa -f /etc/passwd && {pwd; datum} && echo $0; eko "Hallå"

Exempelsyntaxen testar om filen /etc/passwd är närvarande, skriv ut den aktuella arbetskatalogen, datum, skalnamn och eko "Hej".

9. Sammankoppling eller utrymningsoperatör (\)

Sammankopplings- eller flyktoperatorn har två funktioner. Du kan antingen använda den för att sammanfoga två kommandon eller som ett escape-tecken när du arbetar med strängar i skalet.

mkdir test0 test1 \ test2
eko "Hej! från de
andra sidan"

Det första kommandot kommer att skapa fyra kataloger med namnet test0 till test2, och det andra kommandot kommer att skriva ut strängen separerad av en ny rad.

10. Omdirigeringsoperatörerna (>, >>,

Omdirigeringsoperatörerna omdirigerar utdata eller indata till en fil antingen genom att skriva om filen eller genom att lägga till den. Om du vill skriva om en fil måste du använda syntaxen för enkel vinkelparentes (>). Om du vill lägga till en fil måste du använda syntaxen för dubbelvinkelparentes (>>).

eko "dsd"> testa; eko "bssss">> testa

I exempelsyntaxen kommer det första kommandot att skriva över "test"-filen med den angivna strängen, men i det andra kommandot kommer den angivna strängen att läggas till testfilen.

Snabba upp ditt Linux-terminalarbetsflöde

Medan användning av speciella operatörer kommer att avsevärt effektivisera uppgiftsexekveringen för dig, finns det flera andra sätt att påskynda ditt arbetsflöde.

Ett enkelt och värdefullt sätt att få mer gjort på kortare tid är att bekanta dig med några praktiska skalgenvägar. Att vänja sig vid dessa genvägar kommer att räcka långt, och du kommer att lita på dem så länge du använder Linux.