A parancsláncoló operátorok speciális karakterek, amelyek segítségével miniatűr shell szkripteket írnak a parancssorban. Általában parancsok végrehajtására szolgálnak egy bizonyos sorrendben, amelyet az operátorok parancsok közötti elhelyezése határoz meg. Ez hihetetlenül hasznos a feladatok automatizálásában.

Ismerkedjünk meg néhány közös láncolású operátorral Linuxon, amelyek segíthetnek a feladatok gyorsabb és rövidebb felhasználói időközönkénti végrehajtásában.

1. Az "és" jel operátor (&)

Amikor megnyit egy programot vagy végrehajt egy parancsot a héjból, gyakran meg kell várnia, amíg a parancs leáll, vagy manuálisan ki kell lépnie a programból, mielőtt folytatni tudná a shell használatát. Itt lép működésbe az „és” operátor (&).

Ha bármely parancshoz hozzáfűzi az "és" operátort, akkor diktálja a parancsértelmezőt futtassa a Linux parancsot a háttérben hogy továbbra is lekötetlenül tudja használni a shellt.

gedit &

Általában, ha a gedit-et a terminálról futtatja, akkor nem fogja tudni használni a terminált, hacsak be nem zárja a szövegszerkesztőt. De az „és” operátor hozzáfűzésével a háttérben futtathatja, és azonnal folytathatja a shell használatát.

2. A pontosvessző operátor (;)

A pontosvessző operátor egy hihetetlenül hasznos Linux láncoló operátor, amellyel parancsokat hajthat végre meghatározott sorrendben. Rendezze el a parancsokat, és válassza el őket pontosvesszővel.

pwd; mkdir teszt; CDteszt; érintse meg a fájlt

A fenti szintaxis azt diktálja, hogy a shell az egyes parancsokat egymás után hajtsa végre. Vegye figyelembe, hogy a shell nem ellenőrzi, hogy az egyes parancsok sikeresen befejeződnek-e. Amint a shell visszatérési kódot kap, a következő parancs végrehajtására lép.

3. Az OR operátor (||)

A VAGY operátor csak akkor hajtja végre a következő parancsot, ha az előző parancs sikertelen, azaz 0 kilépési kódot ad vissza. Úgy működik, mint egy logikai VAGY kapu, amely 1 értéket ad vissza, ha a bemenet 0.

bad_command || ls

Ebben a példában a szintaxis bad_command egy hamis parancs, amely nem hajtható végre, és mivel nem sikerül, a VAGY operátort követő parancs, amely az ls parancsot, sikeresen végrehajtódik.

4. A csőkezelő (|)

A pipe operátor az előző parancs kimenetét bemenetként a következő parancshoz irányítja. Leggyakrabban az adatok grep paranccsal történő szűrésére szolgál.

macska teszt | grep -i "kihasználni"

Ez a parancs elküldi a kimenetét a macska parancs a grep parancs bemeneteként, amely ezután szűri a kimenetet egy megadott karakterláncra.

5. Az ÉS operátor (&&)

Ez az operátor hasonló módon működik, mint a pontosvessző operátor, azzal a különbséggel, hogy a pontosvessző operátorral ellentétben az ÉS operátor csak akkor hajtja végre a parancsokat, ha az előző parancsot sikeresen végrehajtották.

pwd && mkdir teszt && cd teszt && bad_command && ls

Ebben a példaszintaxisban a shell sikeresen végrehajtja az összes parancsot egészen addig bad_command. Mivel azonban a bad_command nem fut, a shell hibát ad vissza, és kihagyja az ls parancsot.

6. A NEM kezelő (!)

A NOT operátor hasonló módon működik, mint egy kivétel utasítás a programozásban. Például, ha egy könyvtárban lévő nagyszámú fájlon szeretne műveletet végrehajtani, de ki szeretné zárni a néhány paraméter alapján néhány, akkor használhatja a NOT operátort a paraméter átadásával a NOT karakter után (!).

rm-r !(*.txt)

Ez a példaparancs rekurzív módon eltávolítja az összes fájlt a könyvtárban, kivéve azokat a fájlokat, amelyek.txt" kiterjesztés.

7. Az elsőbbségi operátor ((..))

Az ÉS és VAGY operátorokat követő parancsok az előző parancs kilépési kódjától függenek. Ezek az operátorok binárisak, és csak az előttük és utánuk érkező két parancsot értékelik.

Tehát ha több operátorral dolgozik, fontos a csoportok és a prioritás beállítása, hogy a végrehajtási sorrend megfeleljen az elvárásoknak.

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || visszhang "Elsőbbségi teszt!"

Ebben a mintaszintaxisban mindkét parancscsoportnak 0 kilépési kódot kell visszaadnia, hogy biztosítsa az utolsó parancs sikeres végrehajtását. Ez a példa megköveteli, hogy az első készlet () mindkét parancsának 0-val kell kilépnie a második készlet () futtatásához.

8. A kombinációs operátor ({..})

Ahogy a név is sugallja, a kombinációs operátor a parancsok csoportosítására szolgál. Bármelyik parancsot is szeretné csoportosítani, azokat zárójelek közé helyezheti, és végrehajtásuk az első parancs kilépési kódjától függően történik.

teszt -f /etc/passwd && {pwd; dátum} && echo $0; visszhang "Helló"

A minta szintaxisa teszteli, ha az /etc/passwd fájl jelen van, kinyomtatja az aktuális munkakönyvtárat, a dátumot, a shell nevét, és visszhangozza a "Hello" szöveget.

9. Összefűzés vagy az Escape operátor (\)

Az összefűzési vagy escape operátornak két funkciója van. Használhatja két parancs összefűzésére, vagy escape karakterként, amikor karakterláncokkal dolgozik a shellben.

mkdir test0 teszt1 \ teszt2
echo "Szia! tól től a
másik oldal"

Az első parancs négy test0-teszt2 nevű könyvtárat hoz létre, a második parancs pedig kiírja a karakterláncot egy új sorral elválasztva.

10. Az átirányítási operátorok (>, >>,

Az átirányítási operátorok átirányítják a kimenetet vagy a bemenetet egy fájlba a fájl újraírásával vagy hozzáfűzésével. Ha újra szeretne írni egy fájlt, akkor az egyszögletes zárójeles (>) szintaxist kell használnia. Ha egy fájlhoz szeretne hozzáfűzni, akkor a dupla szögletes zárójeles szintaxist (>>) kell használnia.

visszhang "dsd"> teszt; visszhang "bssss">> teszt

A mintaszintaxisban az első parancs felülírja a "teszt" fájlt a megadott karakterlánccal, de a második parancsban a megadott karakterlánc hozzá lesz fűzve a tesztfájlhoz.

Gyorsítsa fel Linux termináljának munkafolyamatát

Míg a speciális operátorok használata jelentősen leegyszerűsíti a feladatok végrehajtását, számos más módszer is létezik a munkafolyamat felgyorsítására.

Az egyik egyszerű és hasznos módja annak, hogy rövidebb idő alatt többet végezzen, ha megismerkedik néhány praktikus shell-parancsikonnal. Ha megszokja ezeket a parancsikonokat, az sokat fog menni, és mindaddig rájuk fog hagyatkozni, amíg Linuxot használ.