Jeśli używasz Linuksa, wiesz, jak użyteczny może być wiersz poleceń do pracy z plikami, instalowania oprogramowania i uruchamiania programów. Ale może być jeszcze bardziej wydajne, jeśli uruchomisz wiele poleceń naraz.
Łączenie dwóch lub więcej poleceń w linii poleceń jest również znane jako "łańcuchy poleceń". Pokażemy Ci różne sposoby łączenia poleceń w wierszu poleceń.
Operator średnika (;) pozwala na wykonywanie wielu poleceń z rzędu, niezależnie od tego, czy poprzednie polecenie się powiedzie. Na przykład otwórz okno terminalu (Ctrl + Alt + T w Ubuntu i Linux Mint). Następnie wpisz następujące trzy polecenia w jednej linii, rozdzielone średnikami i naciśnij Enter. To da ci listę bieżącego katalogu ( ls
), sprawdź, w którym katalogu aktualnie jesteś ( pwd
) i wyświetl swoją nazwę logowania ( kim jestem
) wszystko na raz.
ls; pwd; kim jestem
Nie musisz również wstawiać spacji między średnikami i poleceniami. Możesz wprowadzić trzy polecenia jako ls; pwd; whoami
. Jednak spacje sprawiają, że kombinowane polecenie jest bardziej czytelne, co jest szczególnie przydatne, gdy wstawia się kombinowane polecenie do skryptu powłoki.
Jeśli chcesz, aby drugie polecenie działało tylko wtedy, gdy pierwsze polecenie zakończy się powodzeniem, oddziel polecenia za pomocą logicznego operatora AND, który jest dwoma znakami ampersand ( &&
). Na przykład chcemy utworzyć katalog o nazwie MyFolder, a następnie przejść do tego katalogu - o ile został on pomyślnie utworzony. Dlatego wpisujemy następujące polecenie w wierszu poleceń i wciskamy Enter.
mkdir MyFolder && cd MyFolder
Folder został pomyślnie utworzony, więc Płyta CD
Polecenie zostało wykonane i jesteśmy teraz w nowym folderze.
Zaleca się używanie logicznego operatora AND zamiast operatora średnika przez większość czasu (;
). To gwarantuje, że nie zrobisz nic katastrofalnego. Na przykład, jeśli uruchomisz polecenie zmiany na katalog, a następnie wymusisz usunięcie wszystkiego w tym katalogu rekursywnie ( cd / some_directory; rm -Rf *
), możesz zrujnować system, jeśli zmiana katalogu nie nastąpi. Nie oznacza to, że zalecamy uruchomienie polecenia bezwarunkowego usunięcia wszystkich plików w jednym katalogu.
Czasami możesz chcieć wykonać drugie polecenie tylko wtedy, gdy zrobi to pierwsze polecenie nieosiągnąć sukces. Aby to zrobić, używamy logicznego operatora OR lub dwóch pionowych pasków ( ||
). Na przykład chcemy sprawdzić, czy istnieje katalog MyFolder ( [-d ~ / MyFolder]
) i utwórz go, jeśli tego nie robi ( mkdir ~ / MyFolder
). Dlatego wpisujemy następujące polecenie w wierszu polecenia i wciskamy Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Upewnij się, że istnieje spacja po pierwszym nawiasie i przed drugim nawiasem lub pierwsze polecenie sprawdzające, czy katalog istnieje, nie będzie działało.
W naszym przykładzie katalog MyFolder nie istnieje, więc drugie polecenie tworzy katalog.
Możesz także połączyć wiele operatorów w linii poleceń. Na przykład, chcemy najpierw sprawdzić, czy plik istnieje ( [-f ~ / sample.txt]
). Jeśli tak, wydrukujemy komunikat na ekranie, mówiąc: echo "Plik istnieje."
). Jeśli nie, tworzymy plik ( touch ~ / sample.txt
). Tak, wpisujemy następujące polecenie w wierszu polecenia i wciskamy Enter.
[-f ~ / sample.txt] && echo "Plik istnieje." || touch ~ / sample.txt
W naszym przykładzie plik nie istnieje, więc został utworzony.
Oto użyteczne podsumowanie każdego z operatorów używanych do łączenia poleceń:
A; b
- Uruchom A, a następnie B, niezależnie od sukcesu lub niepowodzenia AA && B
- Uruchom B tylko wtedy, gdy A się powiedzieA || b
- Uruchom B tylko wtedy, gdy A nie działaWszystkie te metody łączenia poleceń mogą być również używane w skryptach powłoki zarówno w systemie Linux, jak i Windows 10.
Możesz również automatycznie poprawiać pisownię i literówki, gdy używasz "cd" w wierszu poleceń w systemie Linux, aby uniknąć drastycznych konsekwencji podczas łączenia poleceń.