Dlaczego wolę WSL od PowerShella w linii poleceń systemu Windows

Dlaczego wolę WSL od PowerShella w linii poleceń systemu Windows

Użytkownicy Windows mogą wybrać między PowerShell a Windows Subsystem for Linux (WSL), z tym drugim preferowanym ze względu na jego znajomość, elastyczność i wsparcie dla deweloperów.

Na Windowsie, gdy potrzebuję linii poleceń, mogę wybierać między natywnym PowerShell a zainstalować Windows Subsystem for Linux. Wolę to drugie, gdy korzystam z Windows. Oto dlaczego sięgam po powłokę Linuxa zamiast PowerShell.

Lepiej znam Linuxa

Jednym z powodów, dla których trzymam się WSL na Windows, do tego stopnia, że instaluję go na każdym nowym komputerze z Windows, zamiast PowerShell, jest to, że cały paradygmat Linuxa i systemów podobnych do Unix jest dla mnie bardziej znajomy. Używałem MS-DOS w latach 90. i od czasu do czasu uruchamiałem wczesne wersje Wiersza poleceń Windows, ale jeśli chodzi o linię poleceń, to Unix mnie zafascynował, ze swoimi dziwnymi poleceniami ls, pwd i cd.

Ta podróż zaczęła się, co dziwne, na Macu, który był i jest wiodącą platformą do tworzenia multimediów, kiedy zdobywałem dyplom z komunikacji. Pewnego dnia postanowiłem zbadać terminal macOS, a właściwie Mac OS X. To tutaj nauczyłem się poruszać po drzewie katalogów i tworzyć pliki w Vim. Wydaje mi się, że jestem jednym z nielicznych, kto wie, jak naprawdę wyjść z Vima. A przynajmniej bym wiedział, gdybym chciał.

Uzbrojony w wiedzę o Uniksie, niedługo potem wyjąłem mój CD z Knoppixem i go uruchomiłem, ponieważ w końcu mogłem go podłączyć do internetu, gdy był podłączony do routera Airport (tak, Apple kiedyś produkowało routery, wprowadzając praktycznie Wi-Fi około przełomu tysiącleci). To doprowadziło mnie do eksploracji dystrybucji Linuxa, co ostatecznie zaowocowało moim pisarskim debiutem w HTG.

Moja wiedza na temat Linuxa i Uniksa wydaje się zbyt cenna, by ją marnować na naukę czegoś zupełnie innego niż inne powłoki wiersza poleceń.

PowerShell jest dziwne

Nigdy nie mogłem w pełni pojąć PowerShell. Wydaje się, że próbuje być radykalnie inny niż tradycyjny paradygmat Unix i Linux. W Linuxie operujesz na czystym tekście. Tekstowe wejście i wyjście mogą być przekierowywane do innych programów i plików. To właśnie nadaje stylowi programowania Unix jego moc i jest kluczowym elementem "filozofii Uniksa".

PowerShell, w przeciwieństwie do tego, jest stworzony, aby być "zorientowanym na obiekty". Gdy piszesz potok w PowerShell, pracujesz z obiektem zamiast strumienia tekstowego.

Seksją składni wiersza poleceń zawsze wydawała mi się zbyt rozwlekła. Doceniam, jak Microsoft "aliasował" niektóre wspólne polecenia do krótszych poleceń MS-DOS i Unix. Wydaje się, że Microsoft zdał sobie sprawę, że mogło to być istotnym problemem.

Linux ma większą uwagę deweloperów

Linux, a właściwie Unix, nie tylko przykuł moją uwagę, ale również reszty społeczności deweloperów. Weź dowolną książkę programistyczną, a prawdopodobnie zakłada ona, że używasz środowiska podobnego do Unix. Będzie to albo instalacja Linuxa, albo macOS. Przeczytaj artykuły na Hacker News. Fragmenty kodu w wierszu poleceń często zaczynają się od "$" (znaku dolara), wskazując domyślny prompt użytkownika dla większości powłok podobnych do Unix, jeśli nie jest to znak "#" (hash), wskazujący, że polecenie ma być wykonane jako superużytkownik. Systemy podobne do Unix, w tym macOS, Ubuntu i inne systemy Linux, są wysoko cenione w badaniach deweloperów Stack Overflow.

Spójrz na laptopa dewelopera, a on będzie uruchamiał albo terminal macOS, albo jakąś powłokę Linux. To jest powód, dla którego Microsoft stworzył WSL: paradygmat Unix jest wszechobecny wśród programistów. To jest to, czego uczą się w trakcie zajęć z informatyki na studiach. To jest to, w czym budują swoje projekty w wolnym czasie. Pokolenie deweloperów uczyło się korzystania z narzędzi open-source działających na Linuxie i nie ma chęci do kodowania w narzędziach .NET.

Kiedy deweloperzy tworzą projekt w rzeczywistości, na czym będą go budować, na Linuxie czy PowerShell? Jest oczywiste, że będzie to to pierwsze. Dlatego nawet na Windowsie poświęcę więcej energii na naukę w stronę WSL.

Jeśli chcę podążać za książką lub samouczkiem, aby nauczyć się nowego języka programowania lub narzędzia, mogę być pewien, że jeśli chciałbym to zrobić na Windowsie, mógłbym uruchomić terminal WSL i podążać za nim. Nie jestem pewien, czy mogłbym to zrobić z terminala PowerShell.

Linux wydaje się bardziej przenośny

Podczas gdy Microsoft podkreśla, że PowerShell jest programem wieloplatformowym, otwierając go i udostępniając na Linux, nie jest jasne dlaczego.

Każdy chciałby korzystać z PowerShell na systemie Linux.

Shelle Linux mają tę zaletę, że są już zainstalowane na dystrybucjach Linux. W przypadku PowerShell musisz go zainstalować oddzielnie od systemu. Gdyby jakaś dystrybucja Linux kiedykolwiek zapakowała go jako domyślny shell, chętnie przetestowałbym to i zrecenzował w przyszłym artykule.

Nawet na Windows, który zdaje się faworyzować PowerShell, mogę uzyskać shell Linux. Tak było przez lata, zanim WSL stał się dostępny. Cygwin, MinGW i UWIN były w stanie oferować możliwości podobne do Unix na Windows. Nie podjęto wielu działań, aby przenieść Wiersz polecenia na Linux.

Dzięki mojej wiedzy na temat wiersza poleceń Linux mogę usiąść przy systemie Linux, Macu, a oczywiście, systemie Windows działającym na WSL i bez trudu uruchomić polecenia z pamięci, a nawet uruchomić skrypty bez konieczności ich modyfikowania. Nie mogę powiedzieć tego samego w odwrotnej sytuacji.

Większość Programów Wiersza Poleceń Jest Linux-First

W wyniku dużej popularności, jaką Linux ma wśród programistów, wydaje się, że nowe narzędzia linii poleceń są pisane najpierw dla systemów podobnych do Unix, szczególnie Linux. Nie jest to zaskakujące, biorąc pod uwagę, jak wiele serwerów działa na Linux.

Nowe serwery, interpretery, debugery, edytory i klienci IRC są wciąż pisane dla Linux. Ich droga na Windows przez PowerShell przebiega znacznie wolniej. Gdy już dotrą na Windows, zazwyczaj dzieje się to przez WSL. Istnieje prawdopodobnie techniczny powód tego stanu rzeczy. Przez wiele lat Windows nie miał prawdziwego pseudokonsoli, co utrudniało portowanie wielu popularnych aplikacji opartych na terminalu na Windows. Projekt WSL był impulsem do stworzenia tej niezbędnej aplikacji na Linux, według artykułu na blogu Microsoftu.

Używam WSL, ponieważ mogę łatwo uzyskać dostęp do narzędzi, na których polegam.

Microsoft pozycjonuje PowerShell przede wszystkim jako narzędzie dla administratorów IT do zarządzania komputerami stacjonarnymi i serwerami, a mniej jako sposób na uruchamianie rzeczywistych programów w terminalu, chociaż poczynili postępy, dodając narzędzia takie jak OpenSSH do domyślnej instalacji Windows.

Mogę Zarządzać Windows Z Linux

Chociaż Microsoft twierdzi, że PowerShell jest sposobem na zarządzanie Windows z linii poleceń, idąc tak daleko, aby zastąpić stary Wiersz polecenia, mogę zrobić wiele rzeczy, które mógłbym robić z PowerShell z instalacji WSL.

Instalacje WSL udostępniają system Windows z poziomu Linux z katalogu /mnt. Oznacza to, że dla mojej głównej instalacji Windows na dysku C:\ mogę uruchamiać wszystkie moje ulubione narzędzia z Linux w katalogach i plikach Windows. Jest mniej powodów, by zajmować się osobliwościami PowerShell. Mogę również uruchamiać zwykłe programy Windows z linii poleceń Linux.

Mogę to zrobić ze wszystkimi moimi ulubionymi narzędziami i programami Linux, które poznałem na innych systemach, jednocześnie uruchamiając mainstreamowe aplikacje, takie jak gry z Windows. Oczywiście, na Linux jest więcej gier, a Proton stale się poprawia, ale wciąż będzie kilku opornych deweloperów, którzy nie mogą się zmotywować, by wpisać "make" w swoich terminalach.

Ponieważ WSL jest mi bardziej znane jako długoletni użytkownik systemów podobnych do Unix, wolę pozostać przy nim w porównaniu do PowerShell, gdy jestem na systemie Windows. Może to tylko wynik przyzwyczajenia, ale z tak wszechobecnym Linux w świecie technologii, prawdopodobnie będę w dobrym towarzystwie.

Jeśli ciekawią Cię artykuły podobne do Dlaczego wolę WSL od PowerShella w linii poleceń systemu Windows, zajrzyj do kategorii Windows i odkryj jeszcze więcej interesujących treści.

Indeks
  1. Lepiej znam Linuxa
  2. PowerShell jest dziwne
  3. Linux ma większą uwagę deweloperów
  4. Linux wydaje się bardziej przenośny
  5. Większość Programów Wiersza Poleceń Jest Linux-First
  6. Mogę Zarządzać Windows Z Linux

Możesz być zainteresowany

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Go up