Jak uruchomić dwa lub więcej poleceń terminalowych jednocześnie w systemie Linux
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 linii poleceń.
Opcja pierwsza: Średnik (;) Operator
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 Terminal (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ę aktualnego 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.
Opcja druga: logiczne AND operatora (&&)
Jeśli chcesz, aby drugie polecenie działało tylko wtedy, gdy pierwsze polecenie się powiedzie, rozdziel polecenia z operatorem logicznym 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.
Opcja trzecia: operator logiczny OR (||)
Czasami możesz chcieć wykonać drugie polecenie tylko wtedy, gdy zrobi to pierwsze polecenie nie osią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 jest 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.
Łączenie wielu operatorów
Możesz także połączyć wielu 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
). 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 przydatne 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 A -
A && B
- Uruchom B tylko wtedy, gdy A się powiedzie -
A || b
- Uruchom B tylko wtedy, gdy A nie powiodło się
Wszystkie 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ń.