Czy program Windows PowerShell jest tak wydajny i wydajny jak Linux terminal
?
Ludzie offline mówią mi bez wyjaśnienia, że Windows PowerShell jest próbą sprawienia, aby administratorzy systemu Unix czuli się bardziej komfortowo z systemem Windows. Sądzę jednak, że będą one wygodne tylko wtedy, gdy będą miały (lub prawie) taką samą wydajność.
linux
terminal
powershell
kern
źródło
źródło
People offline tell me ... that Windows Powershell is an attempt to make UNIX administrators feel more comfortable using Windows.
Ci ludzie nie używali ani Uniksa, ani Powershell.Odpowiedzi:
Twój pierwszy problem polega na tym, że porównujesz powłokę (PowerShell) z terminalem. W Linuksie terminal to coś, co wysyła i odbiera we / wy oparte na znakach i zakłada się, że stoi za nim interaktywny użytkownik (innymi słowy, jest to aplikacja GUI zawierająca powłokę). Jedną z najczęstszych powłok uruchomionych w Terminalu Ubuntu jest Bash , ale są też inne.
Naprawdę prawdą jest, aby powiedzieć, że PowerShell to system Windows odsłaniający dużą część modelu obiektowego WMI , COM i .NET w interaktywnym i skryptowym środowisku wiersza poleceń - i że środowisko wiersza poleceń nadal pożycza wiele pojęć - takich jak potoki i przekierowanie I / O - z powłok uniksowych, podobnie jak stary DOS (2.0 i nowsze)
command.com
icmd.exe
tak się stało. Rurociągi działają z obiektami w PowerShell. Możesz robić rzeczy takie jak tworzenie HTML i ewentualnie arkuszy kalkulacyjnych Excel w locie, jeśli wiesz wystarczająco dużo. Jest to z pewnością aktualizacja / wymiana ze starejcmd.exe
powłoki, która niewiele się zmieniła od Windows NT 4.0 .Jeśli chodzi o składnię, to mniej przypomina powłoki uniksowe (chociaż w końcu żadne z poleceń cmdlet nie używa
/
jako przełącznika lub wskaźnika parametru), ale istnieje wiele aliasów do klasycznych poleceń uniksowych - takich jak wejściels
w oknie programu PowerShelldir
. Ale to tylko aliasy (lista „Get-Alias” je wymienia?).Jeśli chodzi o możliwości programu PowerShell, naprawdę miałeś podobne możliwości, tylko w skryptach, z VBScript i CScript - chociaż oba z nich pochodzą wcześniej .NET.
Jedną rzeczą, której ludzie uniksowi nie muszą robić podczas korzystania z Basha przez większość czasu, jest dokładne zaznajomienie się z bardzo skomplikowanym modelem obiektowym programisty lub obiektu, który jest wymagany do wielu zaawansowanych i prostych zadań PowerShell. Jest to jednak możliwe tylko dlatego, że dla wielu standardowych poleceń POSIX istnieje wyraźna konwencja wyprowadzania zwykłego tekstu . Windows nie miał tej tradycji - wydawało się, że wolisz używać
mmc
konsoli do zadań administracyjnych, z poleceniami dodawanymi tu i tam przez lata. Ponadto, wiele znanych narzędzi systemu Unix są złożone i wymagają pewnego badania Przed rozpoczęciem użytkowania -rsync
,wget
i wiele innych. Wydajność jest prawdopodobnie funkcją tego, jak dobrze się zna narzędzie, którego używa bardziej niż cokolwiek innego.źródło
Windows PowerShell i powłoka Unix to dwie różne rzeczy, które mają zalety w obu.
Unix (shell) ma filozofię, że wszystko jest plikiem. Wejście i wyjście komendy Unix można uzyskać jak plik. To sprawia, że łączenie poleceń jest naprawdę proste, a ponowne użycie wyjścia jednego polecenia przez drugie jest siłą powłoki Unix.
Z Windows PowerShell, o ile mi wiadomo, wszystko jest przedmiotem. Możesz przekazać wynik polecenia innemu jako obiekt. Może to być naprawdę potężne, ale nie ma prostej koncepcji Uniksa.
Nie wierzę, że PowerShell jest tak wydajny jak powłoka Unix, ale inni uważają, że tak jest.
Ale porównanie jest dyskusyjne, ponieważ Windows nie jest systemem * nix, dlatego pojęcia * nix nie mają zastosowania. W porównaniu do MS-DOS , PowerShell jest świetnym ulepszeniem.
źródło
|
,<
lub>
.