Повечето от вас трябва да са използвали командния ред в даден момент от време – независимо дали само за да изпробват експеримент или да поправят проблем като възстановяване на данните, след като са били засегнати от вирус с пряк път. Но какво да кажем за PowerShell, който се появи по-късно? Каква е разликата между PowerShell и cmd?
Е, сигурен съм – освен ако не сте опитен потребител с познания по програмиране, дори няма да сте си направили труда да отворите PowerShell. Но може ли да се използва като заместител на командния ред? Само за програмистите ли е или е лесно да се запознаете?
Имаме всичко, което трябва да знаете и за двамата. За да улесним нещата, няма да се гмуркаме дълбоко в корените на това как те са различни, но само значителната разлика между PowerShell срещу cmd ще бъде подчертана в тази статия, за да ви помогнем да изберете кой да използвате.
История
1. Команден ред
Командният ред е интерпретатор на командния ред. Той съществува в Windows от представяне на Windows 95. По това време не се наричаше – „Команден ред“, а просто „cmd.exe“, който позволява на потребителите да взаимодействат с операционната система чрез определени команди. А след това с Windows NT той беше наречен – „Команден ред“.
Е, на теория беше почти същото като COMMAND.COM (или популярно известен като MS-DOS) с много подобрения на борда.

Докато командният ред технически беше обвивка, но имаше много недостатъци. Първо, черупката не може да помогне за автоматизирането на всички аспекти на функционалността на GUI. Второ, не поддържаше създаването на сложни скриптове.
2. PowerShell
За да преодолеете недостатъците на командния ред, Microsoft започна да разработва обвивка, наречена Monad, която беше много по-мощна от командния ред (можеше да изпълнява различни основни административни задачи, които CMD не можеше).

По-късно, през 2006 г., той е преименуван на Microsoft PowerShell. И наскоро (през 2016 г.) PowerShell беше направен с отворен код с поддръжка на различни платформи.
Технически функции
Техническите разлики биха имали значение само за някой, който иска да управлява и автоматизира определени задачи, като взаимодейства с ОС чрез интерфейс на командния ред. Ако нямате представа какво е език за програмиране – познаването на техническите разлики няма да ви помогне.
PowerShell използва различен набор от команди, известни като командлета. Можете да опитате да контролирате много задачи за системно администриране с него. Въпреки това, не можете да получите достъп до същото чрез командния ред. PowerShell също така ви позволява да използвате – „Pipes“ – което е просто начин за лесно улесняване на прехвърлянето на информация от една програма към друга – това прави PowerShell още по-мощен.
Също така, както беше посочено по-горе, с PowerShell можете да създавате сложни скриптове, но това няма да се случи с командния ред.
Накратко, PowerShell е подобрена среда на командния ред в сравнение с командния ред.
CMD срещу Powershell: Команди
Ако ще използвате някой от тях през повечето време, трябва да разгледате добре тяхната документация тук:
Ако просто искате да знаете основната разлика в техните команди, ето това:
Когато наблюдавате команда като cd / dir / преименувайте (команди с една дума), това е командният ред за вас. Ето защо той все още е най-лесният инструмент за команден ред.
Въпреки това, с Powershell ще получите командите да бъдат по-изразителни (описвайки тяхната работа), като:
Set-Location / Get-children / Rename-item
Windows PowerShell срещу команден ред: кой трябва да използвате?
Като се има предвид, че PowerShell е много по-усъвършенствана среда за команден ред, тя е подходяща само за системни администратори на Windows.
Ако знаете как да създавате скриптове, да управлявате автоматизирани административни задачи в Windows и искате повече разширяемост за това – тогава PowerShell е за вас. Освен това, ако знаете езика за програмиране C#, това би свършило перфектно работата.
Ако обаче не сте програмист и нямате представа какво правят системните администратори - трябва да се придържате към командния ред. Няма да е остарял. Командният ред все още ще се използва от много потребители (включително програмистите) за извършване на по-малко напреднали, но важни неща – като почистване на твърдия ви диск, конвертиране на вашето устройство от GPT към MBR, възстановяване от пряк вирус и така нататък.
Не бихте искали да използвате PowerShell, ако искате да поправите незначителни проблеми или просто да проверите данните си за пинг.
Завършвайки
Сега, когато знаете за разликата между PowerShell и CMD, можете да изберете всеки, който искате, според задачата, която искате да постигнете. Няма нищо по-добро или по-ниско между двете, всичко се свежда до това, което потребителят иска.
Все пак сте объркани как PowerShell се различава от командния ред? Кажете ни вашите мисли в коментарите по-долу.
Thomas
Здравей Анкуш,
Трябва да призная, че PowerShell ми отне известно време, за да се науча, но след като го научите, той може да прави магия.