Operatory łańcucha poleceń to znaki specjalne używane do pisania miniaturowych skryptów powłoki w wierszu poleceń. Zwykle są używane do wykonywania poleceń w określonej kolejności, określonej przez rozmieszczenie operatorów między poleceniami. Jest to niezwykle przydatne w automatyzacji zadań.
Poznajmy kilka wspólnych operatorów łańcuchowych w systemie Linux, które mogą pomóc w szybszym wykonywaniu zadań i przy krótszych interwałach użytkowników.
1. Operator Ampersand (&)
Często, gdy otwierasz program lub wykonujesz polecenie z powłoki, musisz albo poczekać, aż polecenie zakończy działanie, albo ręcznie wyjść z programu, zanim będzie można kontynuować korzystanie z powłoki. Tutaj do gry wchodzi operator ampersand (&).
Dołączając operatora ampersand do dowolnego polecenia, dyktujesz powłoce wykonaj to polecenie Linuksa w tle abyś mógł nadal korzystać z powłoki bez ograniczeń.
edytuj &
Zwykle, jeśli uruchomisz gedit z terminala, nie będziesz mógł korzystać z terminala, chyba że zamkniesz edytor tekstu. Ale dodając operatora ampersand, możesz uruchomić go w tle i natychmiast kontynuować korzystanie z powłoki.
2. Operator średnika (;)
Operator średnika jest niezwykle użytecznym operatorem łańcuchowym Linuksa, którego można używać do wykonywania poleceń w określonej, sekwencyjnej kolejności. Uporządkuj swoje polecenia i oddziel je średnikami.
pwd; mkdir test; płyta CDtest; plik dotykowy
Powyższa składnia nakazuje powłoce wykonanie każdego polecenia jedno po drugim. Zauważ, że powłoka nie sprawdza, czy każde polecenie zakończyło się pomyślnie. Gdy tylko powłoka otrzyma kod powrotu, przechodzi do wykonania następnego polecenia.
3. Operator LUB (||)
Operator OR wykona następującą po nim komendę tylko wtedy, gdy poprzednia komenda zawiedzie, tj. zwróci kod wyjścia równy 0. Działa jak logiczna bramka OR, która zwraca wartość 1, gdy wejście wynosi 0.
złe_polecenie || ls
W tej przykładowej składni zła_komenda jest fałszywym poleceniem, którego wykonanie się nie powiedzie, a ponieważ się nie powiedzie, polecenie następujące po operatorze OR, czyli polecenie ls, wykona się pomyślnie.
4. Operator rury (|)
Operator potoku kieruje dane wyjściowe poprzedniego polecenia jako dane wejściowe do kolejnego polecenia. Jest najczęściej używany do filtrowania danych za pomocą polecenia grep.
test kota | grep -i "zrobić użytek z"
To polecenie wysyła dane wyjściowe komenda kota jako dane wejściowe do polecenia grep, które następnie filtruje dane wyjściowe według określonego ciągu.
5. Operator AND (&&)
Ten operator działa podobnie do operatora średnika, z tą różnicą, że w przeciwieństwie do operatora średnika operator AND wykona polecenia tylko wtedy, gdy poprzednie polecenie zostało pomyślnie wykonane.
pwd && mkdir test && próba płyty && zła_komenda && ls
W tej przykładowej składni powłoka pomyślnie wykona wszystkie polecenia aż do zła_komenda. Jednakże, ponieważ uruchomienie bad_command nie powiedzie się, powłoka zwróci błąd i pominie polecenie ls.
6. Operator NOT (!)
Operator NOT działa w sposób podobny do instrukcji wyjątku w programowaniu. Na przykład, jeśli chcesz wykonać operację na dużej liczbie plików w katalogu, ale chcesz wykluczyć a kilka na podstawie jakiegoś parametru, możesz użyć operatora NOT, przekazując parametr po znaku NOT (!).
rm-R !(*.tekst)
To przykładowe polecenie rekursywnie usunie wszystkie pliki w katalogu z wyjątkiem plików, które mają rozszerzenie „.tekst" rozszerzenie.
7. Operator pierwszeństwa ((..))
Polecenia następujące po operatorach AND i OR zależą od kodu wyjścia poprzedniego polecenia. Te operatory są binarne i oceniają tylko dwa polecenia, które występują przed nimi i po nich.
Dlatego podczas pracy z wieloma operatorami ważne jest, aby ustawić grupy i pierwszeństwo, aby upewnić się, że kolejność wykonywania spełnia Twoje oczekiwania.
(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > lista-pakietów.deb && cp *.deb ~) || Echo "Test pierwszeństwa!"
W tej przykładowej składni obie grupy poleceń muszą zwracać kod zakończenia 0, aby zapewnić pomyślne wykonanie ostatniego polecenia. Ten przykład wymaga, aby oba polecenia w pierwszym zestawie () kończyły się z wartością 0, aby drugi zestaw () mógł zostać uruchomiony.
8. Operator złożony ({..})
Jak sama nazwa wskazuje, operator kombinacji służy do grupowania poleceń. Niezależnie od poleceń, które chcesz zgrupować, możesz umieścić je w nawiasach klamrowych, a zostaną one wykonane w zależności od kodu wyjścia pierwszego polecenia.
test -f /etc/passwd && {pwd; data} && echo $0; Echo "Cześć"
Przykładowa składnia przetestuje if plik /etc/passwd jest obecny, wypisz bieżący katalog roboczy, datę, nazwę powłoki i echo „Hello”.
9. Konkatenacja lub operator ucieczki (\)
Operator konkatenacji lub ucieczki ma dwie funkcje. Możesz użyć go do połączenia dwóch poleceń lub jako znaku ucieczki podczas pracy z ciągami znaków w powłoce.
mkdir test0 test1 \ test2
echo "Cześć! z the
druga strona"
Pierwsze polecenie utworzy cztery katalogi o nazwach od test0 do test2, a drugie polecenie wypisze łańcuch oddzielony nową linią.
10. Operatory przekierowania (>, >>,
Operatory przekierowania przekierowują dane wyjściowe lub wejściowe do pliku przez ponowne zapisanie pliku lub dołączenie do niego. Jeśli chcesz ponownie napisać plik, musisz użyć składni pojedynczego nawiasu kątowego (>). Jeśli chcesz dołączyć do pliku, musisz użyć składni podwójnego nawiasu kątowego (>>).
Echo "dsd"> test; Echo "bssss">> test
W przykładowej składni pierwsze polecenie zastąpi plik „testowy” podanym ciągiem, ale w drugim poleceniu podany ciąg zostanie dołączony do pliku testowego.
Przyspiesz przepływ pracy w terminalu Linux
Chociaż korzystanie z operatorów specjalnych znacznie usprawni wykonywanie zadań, istnieje wiele innych sposobów na przyspieszenie przepływu pracy.
Łatwym i wartościowym sposobem na zrobienie więcej w krótszym czasie jest zapoznanie się z kilkoma przydatnymi skrótami powłoki. Przyzwyczajenie się do tych skrótów zajmie dużo czasu i będziesz na nich polegać tak długo, jak będziesz korzystać z Linuksa.