BIZIT 11 - prvi dan

Tri najveće razlike između Command Prompt-a i PowerShell-a

PowerShell je dostupan već godinama i tokom tog vremena je gotovo potpuno zasenio staru komandnu liniju cmd.exe, postajući sve snažniji. 

PCPress.rs Image

Ovo su različiti alati, napravljeni za različite namene i generacije

Usko je integrisan sa mnogim osnovnim funkcijama Windows operativnog sistema i može da pomogne u pisanju skripti za skoro svaku funkciju u Windows-u. Iako PowerShell nije uvek bio najpopularniji jezik (iako ga mnogi Windows administratori koriste), poslednjih godina doživeo je veliki povratak, uz pomoć šireg pomaka ka poboljšanju alata za programere na Windows-u, kao što su novi Windows Terminal i WSL.

Ako ste novi u Windows-u, razlika između PowerShell-a i Command Prompt-a može delovati pomalo nejasno. Osnovno, ovo su različiti alati, napravljeni za različite namene i generacije. Skoro su potpuno različiti u načinu na koji funkcionišu i kako su dizajnirani da se koriste, pri čemu je PowerShell sada daleko moćniji od Command Prompt-a.

Sintaksa jezika i funkcionalnost

PowerShell nije samo lepša verzija CMD-a. Ovo je velika, očigledna razlika. PowerShell i cmd.exe koriste potpuno različitu sintaksu. Command Prompt tradicionalno interpretira batch (.bat ili .cmd) skripte i neke osnovne sistemske komande. Ove skripte su često bile nezgrapne i teško je bilo pisati naprednije skripte. S druge strane, PowerShell-ove skripte su ekstenzibilne, interoperabilne i dinamične, što bi bilo vrlo teško ostvariti pomoću batch-a. Ovo je pitanje nasleđa, jer je batch skriptovanje prisutno od MS-DOS-a. Sintaksa PowerShell-a je zasnovana na .NET-u, koji je, iako možda nije najmoderniji framework, izuzetno moćan u okviru Windows okruženja. Dizajniran je od temelja za automatizaciju u Windows-u i ima opsežan API i mogućnosti za povezivanje sa operativnim sistemom. Prednost ovoga je u tome što je osnovni framework odvojen od interfejsa, omogućavajući PowerShell programerima da rade sa ograničenim API-jem sa zaštitama, umesto da pokušavaju da se nose sa nepreglednim WinAPI-jem direktno. Još jedna ključna razlika između ova dva alata je u tome kako komuniciraju sa drugim softverom. CMD daje tekstualni izlaz (što nije nužno loše, Bash takođe daje običan tekst), dok PowerShell vraća .NET objekte. Ovo ima svoje prednosti i mane, jer je interoperabilnost unutar alata napravljenih za PowerShell lakša, a alati mogu lakše obraditi izlaz od drugih alata bez potrebe za parsiranjem teksta (ili rukovanjem sa verbosnim podacima poput JSON-a). Ovo pomaže automatizaciji, ali može otežati pregledanje nekih izlaza, a formatiranje može biti pomalo čudno.

Pročitajte i:  Kako postaviti računar sa Windows-om prilagođen starijim korisnicima

Podrška za više platformi

PowerShell na Linux-u pre deset godina ne bi zvučao kao šala. Iako nije široko popularna opcija, velika razlika između PowerShell-a i Command Prompt-a je ta što PowerShell podržava rad na macOS i Linux operativnim sistemima. Osnovni framework za PowerShell (.NET Core) je po defaultu podržan na više platformi, što olakšava razvoj PowerShell-a sa ciljem podrške za više platformi. Ovo nije uvek bio slučaj – podrška za više platformi dodata je tek sa PowerShell Core 6, ali moderni PowerShell-ovi bi trebalo da rade gotovo besprekorno na različitim okruženjima. CMD je originalno razvijen samo za Windows, a mnoge njegove funkcije su duboko povezane sa Windows specifičnim komponentama unutar operativnog sistema. Napredak PowerShell-a u ovoj oblasti odražava širu arhitektonsku promenu između CMD-a i PowerShell-a, gde je PowerShell uglavnom izgrađen na .NET Core-u, dok CMD često zavisi od WinAPI-ja.

PowerShell je delimično otvorenog koda

CMD predstavlja alat iz prošlosti za Microsoft, jer je zatvoreni, proprietarni alat čiji je razvoj Microsoft kontrolisao godinama. PowerShell, međutim, deo je šire promene koja se dešava u poslednjoj deceniji, kada je Microsoft počeo da se fokusira na izgradnju otvorenih i zajednički podržanih platformi za zajednicu, umesto da gradi zatvoreni ekosistem za Windows. Razvoj PowerShell Core-a se otvoreno prati na GitHub-u (koji je sada u vlasništvu Microsoft-a, što ovaj proces dodatno podržava). Ovo omogućava zajednici ne samo da doprinosi razvoju PowerShell-a, već i da ga koristi kao pouzdan alat za dalji rad. Pomeranje PowerShell-a prema licenci otvorenog koda uključuje bolje podršku zajednice, unos zajednice u pravac razvoja, zajedničku platformu za izveštaje o greškama i diskusiju, a takođe i mogućnost zajednice da lako doprinosi. Ovo je model koji je bio vrlo uspešan za Microsoft poslednjih godina, i nadamo se da će nastaviti da prioritizuje razvoj otvorenih, zajedničkih platformi, posebno za alate namenjene programerima i naprednim korisnicima.

Pročitajte i:  Kako pokrenuti MS-DOS na Windowsu ili macOS-u

Zaključak

PowerShell predstavlja ogroman napredak u odnosu na CMD i stalno se poboljšava. CMD je alat iz prošlog vremena i sada je jasno zastareo na Windows-u. Microsoft je napravio velike pomake u poboljšanjima, kako uvođenjem WSL-a (koji je odličan za programere), tako i stalnim poboljšanjima PowerShell-a, koji je više orijentisan prema sistemskim administratorima i automatizaciji. 

Izvor: Xda-developers

Facebook komentari:
Računari i Galaksija
Tagovi: ,

Leave a Reply

Your email address will not be published. Required fields are marked *