Dlaczego ludzie wciąż się nimi przejmują?

Linia poleceń ma prawie 50 lat, ale wciąż pozostaje aktualna. Terminale tekstowe są nadal najlepszym sposobem wykonywania wielu zadań, nawet w dobie graficznych pulpitów i urządzeń z ekranem dotykowym.

W rzeczywistości wiersz poleceń zyskuje na znaczeniu, ponieważ firma Microsoft opracowuje nową, potężną aplikację Windows Terminal. Środowisko PowerShell w systemie Windows 10 jest zaskakująco potężne, a Microsoft nadal dąży do dodania pełnej obsługi środowiska wiersza poleceń systemu Linux do Windows 10.

Linia poleceń była kiedyś jedyną opcją

Kiedyś, aby wejść w interakcję z komputerem, wystarczyło wpisać polecenie. Nie było nic więcej. Może to brzmieć restrykcyjnie i archaicznie, ale w porównaniu do użycia kart perforowanych, pisanie było radykalną i transformującą zmianą. Migracja z teletypów do terminali z kineskopem (CRT) to kolejny krok w interakcji między człowiekiem a komputerem.

Ten rozwój umożliwił powstanie interaktywnej powłoki, w której można szybko wprowadzać instrukcje i otrzymywać odpowiedzi na ekranie. Koniec z oczekiwaniem na wydruki z teletype’a.

Jednak to, co było wtedy, różni się od tego, co mamy teraz. Informatyka to zupełnie inna dziedzina. Oprócz oczywistych przypadków, takich jak korzystanie z komputera bez interfejsu graficznego, czy zdalne łączenie się z komputerem przez SSH, warto zadać pytanie: dlaczego korzystać z wiersza poleceń zamiast graficznego pulpitu?

Objaśnienie żargonu

Pojęcia takie jak wiersz poleceń, okno terminala i powłoka są często używane zamiennie, co jest nieprecyzyjne. To różne elementy, które choć spokrewnione, pełnią odmienne funkcje.

Okno terminala to okno w graficznym środowisku, które uruchamia emulację terminala dalekopisowego. Powłoka to program działający w tym oknie, który interpretuje i wykonuje wprowadzone instrukcje.

Wiersz poleceń to zachęta wyświetlana przez powłokę, gdy oczekuje na dane wejściowe. Termin „wiersz poleceń” odnosi się również do faktycznego tekstu, który wpisujesz. Na przykład, gdy rozmawiasz z innym użytkownikiem o problemie, może on zapytać: „Jakiego wiersza poleceń użyłeś?”. Nie pytają, jakiej powłoki używasz; chcą wiedzieć, jakie polecenie wpisałeś.

Te elementy współdziałają, tworząc interfejs linii komend (CLI).

Dlaczego warto korzystać z wiersza poleceń w 2019 roku?

CLI może wydawać się archaiczne i dezorientujące dla osób, które go nie znają. Czy w nowoczesnym systemie operacyjnym jest miejsce na tak przestarzały sposób korzystania z komputera? Czy nie oddaliśmy tego wszystkiego wiele lat temu, gdy pojawiły się graficzne interfejsy użytkownika (GUI)?

Tak, GUI istnieje od dziesięcioleci, a pierwsza wersja systemu Microsoft Windows została wydana w 1985 roku i stała się normą dla komputerów stacjonarnych po premierze Windows 3.0 w 1990 roku.

X Window System, stosowany w systemach Unix i Linux, został wprowadzony w 1984 roku. Spowodowało to rozwój graficznych środowisk w systemach Unix i ich pochodnych.

Jednak wydanie Uniksa miało miejsce ponad dekadę wcześniej. Dlatego w tamtych czasach wszystkie operacje musiały być wykonywane za pomocą wiersza poleceń. Cała interakcja z komputerem musiała być możliwa przy użyciu klawiatury.

W związku z tym, ipso facto, CLI może zrobić wszystko. GUI nie jest w stanie wykonać wszystkich zadań, które może wykonać CLI. Nawet w zakresie, w którym mogą współdziałać, interfejs wiersza poleceń jest zazwyczaj szybszy, bardziej elastyczny, skryptowalny i skalowalny.

Są znormalizowane dzięki POSIX

POSIX to standard dla systemów operacyjnych typu Unix, obejmujący wszystko, co nie jest systemem Windows. Nawet system Windows ma podsystem Linux (WSL). Otwierając okno terminala w jakimkolwiek systemie zgodnym z POSIX, będziesz miał dostęp do powłoki. Nawet jeśli powłoka lub dystrybucja oferują własne rozszerzenia, o ile zapewniają podstawową funkcjonalność POSIX, możesz z nich korzystać od razu.

Linia poleceń jest najniższym wspólnym mianownikiem. Naucz się jej używać, a niezależnie od dystrybucji Linuksa i graficznego środowiska, zrealizujesz wszystkie potrzebne zadania. Różne dystrybucje Linuksa mają różne narzędzia i programy, ale po otwarciu okna terminala poczujesz się jak w domu.

Polecenia są zaprojektowane do współpracy

Każde polecenie w systemie Linux zostało zaprojektowane do wykonania konkretnego zadania i to zadanie wykonywane jest dobrze. Podstawowa filozofia projektowania poleceń opiera się na dodawaniu większej funkcjonalności przez łączenie różnych narzędzi za pomocą potoków.

To podejście jest tak użyteczne, że Microsoft wprowadził pełną obsługę wiersza poleceń systemu Linux do Windows 10!

Na przykład polecenie sortowania może być używane przez inne polecenia do sortowania tekstu w porządku alfabetycznym. Nie ma potrzeby implementowania funkcji sortowania w każdym z pozostałych poleceń. Aplikacje GUI zazwyczaj nie pozwalają na tego typu współpracę.

Oto przykład. Używając polecenia ls, wyświetlimy pliki w bieżącym katalogu. Wynik jest przesyłany do polecenia sortowania, które sortuje je według piątej kolumny (rozmiar pliku). Posortowana lista jest następnie przekazywana do polecenia head, które wyświetla domyślnie dziesięć pierwszych wierszy:

ls -l | sort -nk5,5 | head

Otrzymujemy uporządkowaną listę najmniejszych plików w bieżącym katalogu.

Zmieniając jedno polecenie – używając tail zamiast head – możemy uzyskać listę dziesięciu największych plików w bieżącym katalogu:

ls -l | sort -nk5,5 | tail

Otrzymujemy listę dziesięciu największych plików, zgodnie z oczekiwaniami.

Dane wyjściowe poleceń można przekierować do plików. Zwykłe dane wyjściowe i komunikaty o błędach można przechwytywać oddzielnie.

Polecenia mogą zawierać zmienne środowiskowe. Następujące polecenie wyświetli zawartość twojego katalogu domowego:

ls $HOME

Działa to z dowolnego miejsca w drzewie katalogów.

Jeśli idea tego całego pisania nadal Cię zaskakuje, techniki takie jak uzupełnianie tabulatorów mogą znacznie uprościć pracę.

Skrypty umożliwiają automatyzację i powtarzalność

Ludzie są podatni na błędy.

Skrypty pozwalają na jednolite wykonanie zestawu instrukcji za każdym razem, gdy skrypt jest uruchamiany. Zapewnia to spójność w utrzymaniu systemu. Kontrole bezpieczeństwa mogą być wbudowane w skrypty, które pozwalają określić, czy powinny kontynuować. Eliminuje to potrzebę posiadania przez użytkownika odpowiedniej wiedzy do samodzielnego podejmowania decyzji.

Dzięki automatyzacji zadań za pomocą crontaba w Linuksie i innych systemach Unix, długie, skomplikowane i powtarzalne zadania można uprościć lub zautomatyzować na przyszłość.

Skrypty PowerShell oferują podobną moc w systemie Windows i można je zaplanować w Harmonogramie zadań. Po co klikać 50 opcji za każdym razem, gdy konfigurujesz komputer, skoro można uruchomić polecenie, które automatycznie wszystko zmienia?

Najlepsze z obu światów

Aby jak najlepiej wykorzystać Linuksa – lub jakikolwiek system operacyjny jako zaawansowany użytkownik – naprawdę musisz korzystać z interfejsu CLI i GUI.

GUI jest niezrównane w przypadku korzystania z aplikacji. Nawet zagorzali zwolennicy wiersza poleceń muszą czasami korzystać z aplikacji biurowych, środowisk programistycznych i programów graficznych.

Użytkownicy wiersza poleceń nie nienawidzą GUI. Po prostu preferują korzyści płynące z używania CLI do odpowiednich zadań. W przypadku administracji CLI wygrywa. Możesz używać wiersza poleceń do dokonywania zmian w pojedynczym pliku, katalogu lub do globalnych zmian z równym wysiłkiem. Próba wykonania tego za pomocą GUI często wymaga długotrwałych i powtarzalnych działań klawiatury i myszy.

Wiersz poleceń zapewnia najwyższą wierność. Każda opcja każdego polecenia jest dostępna. Wiele poleceń w systemie Linux ma szereg opcji. Aby wziąć tylko jeden przykład, rozważ polecenie lsof. Spójrz na stronę podręcznika i zastanów się, jak zaprezentować to w GUI.

Jest zbyt wiele opcji, aby efektywnie przedstawić je w interfejsie GUI. Byłoby to przytłaczające, nieatrakcyjne i trudne w użyciu, co jest całkowitym przeciwieństwem zamysłu GUI.

Wnioskując, nie unikaj wiersza poleceń. Często jest to szybszy i bardziej zwinny sposób pracy. Skorzystaj z jego możliwości, a nigdy tego nie pożałujesz.


newsblog.pl