GT explică: diferența dintre promptul de comandă și Powershell
Miscellanea / / November 29, 2021
Sistemul de operare Windows este livrat cu mai multe aplicații și instrumente utilitare pentru a ajuta utilizatorii să îndeplinească diferite sarcini. Alături de aplicații sunt instrumente precum Prompt de comandă (CMD) și PowerShell, care sunt adesea folosite pentru depanarea erorilor, rularea comenzilor în lot și întreținerea sistemului. Dar care este diferența dintre Command Prompt și PowerShell?
La suprafață, puteți folosi ambele instrumente și multe comenzi sunt executabile pe ambele. Dar există diferențe subtile între acestea două. În termeni mai simpli, PowerShell este fratele mai mare al lui CMD și poate fi folosit pentru a rula majoritatea comenzilor CMD și apoi altele.
Sa incepem.
1. Ce este promptul de comandă (CMD)
Windows 95 și 98 au venit cu Command.com, care era cunoscut și sub numele de MS-DOS. Utilizatorii ar putea interacționa direct cu sistemul de operare folosind comenzi bazate pe text. Microsoft a lansat apoi CMD (Command Prompt) cu Windows NT, care a fost mai bun decât iterațiile anterioare.
CMD este folosit mai ales pentru a efectua comenzi batch, pentru a interacționa cu sistemul de fișiere (comenzi DIR), și chiar depanați erorile legate de sistem, care altfel sunt greu de rezolvat.
2. Ce este PowerShell
PowerShell a fost lansat pentru prima dată în 2006 pentru Windows XP SP2. PowerShell 2.0 îmbunătățit cu Windows 7 a adus și mai multe funcții și a fost compatibil cu multe comenzi CMD. Windows 10 îl are ca instrument implicit de linie de comandă. Motivul pentru care PowerShell a decolat a fost capacitatea sa de a lucra cu limbajul de programare C# care se integrează și cu .NET Framework.
Acest lucru a permis utilizatorilor să scrie scripturi personalizate care pot fi folosite pentru a executa o serie de comenzi de la distanță. De asemenea, îl puteți folosi pentru a automatiza anumite sarcini administrative, oferind mai multă flexibilitate decât un CMD umil. Este un mediu de scripting care acționează ca mai mult decât un simplu shell. De asemenea, are un fundal albastru în loc de negru pentru un anumit motiv.
3. Diferența dintre CMD și PowerShell
CMD este folosit mai ales de administratorii de sistem pentru a procesa fișiere batch, a depana unele erori comune și a remedia fișierele de sistem corupte.
PowerShell duce lucrurile la următorul nivel, permițând administratorilor să controleze o întreagă rețea și toate sistemele din acea rețea. Spre deosebire de CMD care poate interpreta și executa numai comenzi Batch, PowerShell poate interpreta și executa și comenzi Batch și PowerShell. Ce-i asta?
Aici apar „cmdlet-urile”. Sunt un grup de comenzi pe care utilizatorii le pot executa cu o singură comandă. Acest grup de comenzi se numește scripturi. În CMD, trebuie să așteptați până când comanda anterioară este complet executată înainte de a o da pe următoarea. PowerShell economisește timp și permite automatizarea folosind scripturi în acest fel.
În timp ce CMD poate funcționa numai cu text, PowerShell a luat o frunză din liniile de comandă Linux și poate funcționa și cu conducte. Tuburile permit unui cmdlet să partajeze chiar și date complexe (ieșire) cu un alt cmdlet (intrare). Acest lucru permite administratorilor să manipuleze și să transfere date între diferite programe și chiar computere dintr-o rețea, prin executarea cmdlet-urilor într-o secvență definită.
Nu vă înșelați, deși PowerShell este puternic, nu este nicăieri la fel de puternic ca unele instrumente de linie de comandă care sunt acceptate în distribuțiile cu aromă Linux.
4. Când să utilizați
CMD este utilizat pe scară largă pentru navigarea în structura fișierelor și folderelor de sistem, gestionarea și interacțiunea cu aceasta, modificarea proprietăților și depanarea erorilor Windows. La GT, le cerem adesea cititorilor noștri să execute comenzi precum SFC (System File Checker) și DISM (Deployment Image Service and Management) pentru a verifica integritatea fișierelor de sistem și a le repara.
Administratorii de sistem preferă PowerShell pentru gestionarea datelor, în special printr-o rețea de computere. De asemenea, deoarece rulați aproape toate comenzile CMD în PowerShell, oferă un avantaj față de linia de comandă. De asemenea, puteți rula cmdlet-uri care sunt seturi de comenzi (scripturi) pentru a efectua funcții administrative.
Abilitatea de a atinge depozitul de cod al .NET Framework deschide mai multe posibilități pentru utilizatorii PowerShell. Puteți extrage informații despre procesele care rulează (cmdlet get-process), comunicarea în rețea, efectuarea sarcinilor administrative legate de bazele de date și chiar algoritmi criptografici. Mai potrivit pentru programatori și administratori.
Apoi vine logica condiționată în care puteți programa sarcini de executat în funcție de apariția unui eveniment, de exemplu. Alte exemple de logică condiționată includ parametri precum if, else, for, when și switch. Un exemplu simplu poate fi un cmdlet care va închide toate aplicațiile de fundal dacă RAM este plină sau încalcă un anumit nivel în ceea ce privește utilizarea. Îngrijit, nu?
Deși acestea sunt exemple simple, administratorii de rețea folosesc PowerShell pentru multe sarcini complexe. Nu știți cum să vă creați primul cmdlet? Nu vă îngrijorați, deoarece PowerShell se bucură de o comunitate mare de entuziaști care și-au împărtășit cmdleturile pe care le puteți utiliza.
Mișcare de putere
Microsoft TechNet are o colecție grozavă de ghiduri, exemple și link-uri către depozite de cod (cum ar fi GitHub). Un loc excelent pentru a-ți începe călătoria. Recent, noul Aplicația Windows Terminal pentru Windows 10 a fost lansat care a derutat mulți utilizatori. Cu toate acestea, Microsoft are clarificat că CMD este aici rămâi. Este foarte logic să văd câți utilizatori încă folosesc CMD ca instrument implicit de linie de comandă.
Urmatorul: Căutați câteva sfaturi și trucuri CMD? Faceți clic pe linkul de mai jos pentru a găsi o listă organizată de 11 comenzi CMD cool.