Компьютер76

РАБОТА С КОМПЬЮТЕРОМ СТАЛА ЛЕГЧЕ

В чём разница между cmd и PowerShell Windows?

cmd и powershell

C появлением Windows 7 к возможностям системы добавилась ещё одна программная оболочка для работы чистыми командами, не оформленная в графический интерфейс. С момента появления к ней всё чаще приковывают внимание сами разработчики, а в Windows 10 она вообще предлагается командной консолью по умолчанию. С каждой последующей версией Windows PSH (Пи-Эс-Эйч) обрастает всё большими возможностями. И на фоне развития Windows разница между cmd и PowerShell (Пауэр Шел) становится всё принципиальнее.

разница между cmd и powershell

почти не отличимы; внешне их вообще можно сделать идентичными

Разница между cmd и PowerShell: не только в цветах.

Более могущественная, и столь же усложнённая. В один ряд с терминалом Линукс по своей многозадачности её ставить нельзя: мелко плавает и вообще не из той темы. Но по сравнению с cmd она может гораздо больше, чем выполнять команды и возвращать результаты в тестовом варианте. И это на фоне того факта, что практически всё, что умеет cmd, прокатит и в PowerShell. Однако для работы с shell придётся использовать уже отдельный вид команд, которые, дабы на русском не звучало косноязычно, переводчики назвали «командлетами». В отличие от cmd, в shell команды исполняются по нескольким каналам. Это значит, что выход одной команды (в смысле, командлета) может быть одновременно входом в другую. И всё потому, что командлеты  PowerShell — это вполне себе определённые объекты, представители конкретной структуры данных. Даже те командлеты, которые встречают в ответе shell на запрос пользователя. Выражаясь языком программистов, PSH — объектно-ориентированный, а cmd обрабатывает только символы или последовательность символов. Проще говоря, PowerShell позволяет работать с некоторыми программами изнутри, в режиме реального времени, интерактивно. Cmd, в сущности, может только запускать утилиты, которые в Windows уже существуют (почти все они в папке C:\Windows) и исполнять так называемые батники (.bat-файлы).

Более того, PowerShell — это вполне себе законченная среда для написания и исполнения скрипта. Так что можно создавать очень сложные и объёмные скрипты для управления системой, чем те, на какие была способна консоль cmd. Это уже почти программирование «на языке» самой Windows (да простят меня «реальные» программеры). Ей под силу навороченные скрипты и автоматизация задач. С точки зрения администрирования Windows, то PS обладает уже полным доступом к Windows Management Instrumentation и есть возможность найти точки соприкосновения с .NET framework.

Основная разница между PowerShell и cmd в том, что последняя — это обновлённая, основанная на  .NET Common Language Runtime (CLR), версия «отжившей» в своё время программной оболочки DOS, а в первую, как видно, Windows вдыхает новую жизнь. Очевидно демонстрируя, что от DOS команд разработчики отказываться вообще не собираются. Сравнение с DOS уже неверно, та очень ограничена в своих возможностях; cmd существовала в Windows как «наследие DOS для избранных» или ремонтный, прямой вариант самых необходимых команд. Кстати, при сравнении этих командных консолей пригодится и тот факт, что за всё своё существование cmd получило ограниченный ряд обновлений, «сохраняя верность» легитимности (читай — ограниченность в применении) в части прав. А ввод в работу PowerShell — это как своеобразное предложение, если не покопаться во внутренностях системы, то поучаствовать в изучении её возможностей и способ заняться её модификацией вполне официально: интеграция в среду .Net тому подтверждение. При этом PS не в пример CMD не перестаёт развиваться, одна кросс-платформенность с Windows, macOS, и Linux чего стоит.

Разница между cmd и PowerShell: а зачем нужен Shell обычному пользователю?

Точнее, зачем нужнА. Да, чтобы переформировывать дисковое пространство или пинговать смартфон достаточно возможностей cmd. И тот факт, что shell-язык потребует более основательного подхода при использовании командлет, это выводит работу с этой оболочкой на более высокий уровень. Но абстрактность разводить не будем, а я постараюсь впоследствии разбавить статью конкретными примерами в ссылках. Согласитесь, всё зависит от конкретных задач. И нужно признаться, овладеть shell можно только после близкого знакомства с конкретными командлетами.

Знакомство с PowerShell.

На компьютерном языке Shell — это пользовательский интерфейс, который позволяет получить доступ к службам самой ОС-и. Этот shell может иметь и вариант консоли (как мы его знаем), а может иметь и более дружелюбный интерфейс — оформленный в окна с кнопочками, по которым можно тыцкать мышкой (PowerShell ISE). Windows PowerShell работает именно с ОС от Microsoft последних версий, основан на среде .NET framework. Первая версия Windows PSH появилась почти сразу после выпуска Windows XP, в ноябре 2006 г. Его основное призвание — автоматизация ежедневных задач и процессов, запускаемых администратором системы. Можно выделить несколько первых команд, с помощью которых можно познакомиться с оболочкой в общих чертах (а не просто смотреть на пустую консоль с синюшным фоном).

Get-help

Справка как она есть. Русифицирована. Информацию о командах получаем отсюда.

Get-Command

Основные командлеты PSH. Сама по себе командлет вам не даст ничего, однако для начала можно было бы ознакомиться с её именем и исполнительным модулем. Например, если нужно увидеть командлеты, работающие с IP функциями или просто сетевые командлеты, мы можем попросить у get-command:

Get-Command –Name *IP*

Остановлюсь. Командлетов сотни, а может и тысячи. Понимая это, Microsoft ввела в работу целый сервис, который позволяет в режиме онлайн компоновать атрибуты команд в командлеты и проверять их работоспособность. Знакомьтесь: Windows PowerShell Command Builder.

Успехов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 50 МБ. Вы можете загрузить: изображение, видео. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда