Должен ли разработчик Windows знать командную строку? - PullRequest
4 голосов
/ 13 июля 2009

Командная строка ускользала от меня годами. Я начал в 1999 году, поэтому я был уже испорчен GUI; используя мою добрую мышь, чтобы указать и щелкнуть мышью. Десять лет спустя, и у меня есть несколько базовых командных строк: cd, dir, rm, ipconfig и т. Д. Кроме этого, не так уж много другого. Черт, даже мои сочетания клавиш довольно ограничены: копировать, вставлять, вырезать, обновлять браузер; но я думаю, что это совсем другая тема.

Теперь я также вижу что-то под названием «Windows PowerShell». Он выглядит более мощным, чем cmd.exe, и ориентирован на системных администраторов - круто. Я, однако, веб-разработчик: все, что связано с ASP.NET в основном. Я живу в Visual Studio, когда приходит время набивать код.

Получит ли такой разработчик, как я, выгоду от включения оболочки Windows в мой ежедневный рабочий процесс? Когда я становлюсь старше, меня больше интересует функция, а не форма, т. Е. Я недавно приобрел ThinkPad и исключительно использую TrackPoint :) Я просто использую прямую линию для перехода из точки А в точку Б.

Что вы скажете о моей ситуации и разработчикам Windows в целом?

Ответы [ 9 ]

12 голосов
/ 13 июля 2009

Сценарии командной строки могут быть очень полезны даже в среде Windows. Сценарии могут быть полезны для автоматического развертывания и мониторинга. К сожалению, интерфейс и команды по умолчанию «cmd.exe» немного неуклюжи, поэтому работать с оболочками на основе Unix не так интересно.

PowerShell - это огромное улучшение по сравнению с cmd, поэтому я бы порекомендовал изучить основы PowerShell и посмотреть, будет ли он вам полезен.

5 голосов
/ 13 июля 2009

Разработчики Unix десятилетиями использовали командную строку. PowerShell с его глубокой интеграцией с платформой и продуктами Windows (Excel и др.) Позволяет автоматизировать многие из наших повседневных дел.

Энди Уайт выделил несколько ключевых областей, где PowerShell более чем удобен.

Ознакомьтесь с PowerBoots и некоторыми его применениями , похожими на Tcl / Tk и вдохновленными Ruby Shoes.

4 голосов
/ 14 июля 2009

Как разработчик .NET я нахожу PowerShell очень полезным. Я использую его как интерактивный .NET REPL. Вместо того, чтобы писать небольшие консольные приложения для экспериментов с типами .NET, я часто могу просто попробовать свой эксперимент из командной строки PowerShell. Например, скажем, я хочу выяснить, какую конкретную строку форматирования я хочу использовать для объекта DateTime:

PS> "{0:R}" -f [DateTime]::Now
Mon, 13 Jul 2009 11:15:34 GMT

И, как уже упоминали другие, если вы выполняете какие-либо повторяющиеся задачи, то стоит изучить PowerShell, чтобы вы могли автоматизировать эти задачи. Повторяющиеся задачи подвержены ошибкам и могут буквально причинить вам вред (например, травмы РС). Возьмем, к примеру, циклический просмотр всего вашего источника и удаление всех папок bin и obj:

PS> dir . -r | 
    where {$_.PSIsContainer -and $_.Name -match '^(bin|obj)$'} | 
    remove-item -r -whatif

PowerShell также может легко вырезать и нарезать данные XML и WMI с вашего ПК. Хотите узнать информацию о вашем BIOS:

PS> Get-WmiObject Win32_BIOS

Хотите узнать, сколько слотов памяти открыто на вашем компьютере (не снимая крышку):

PS> gwmi Win32_PhysicalMemory | 
    Format-Table Description, DeviceLocator, Capacity -auto

Кроме того, поскольку механизм PowerShell легко размещается, стоит рассмотреть возможность использования в своих приложениях среды сценариев. Если эти приложения больше похожи на приложения системного администратора, это имеет большой смысл. OTOH для более традиционных скриптов, я бы, вероятно, разместил движок IronPython.

3 голосов
/ 13 июля 2009

У каждого есть свои преимущества, поэтому я бы порекомендовал вам изучить PowerShell, по крайней мере, достаточно, чтобы понять, может ли он помочь в вашей ситуации. Я обнаружил, что если графический интерфейс не поддерживает хорошо повторяющиеся операции, богатый пользовательский интерфейс командной строки, такой как PowerShell, действительно может ускорить их.

А иногда бывает очень освежающе и познавательно убрать всех волшебников и познакомиться с тем, как все работает на более низком уровне.

2 голосов
/ 13 июля 2009

Это зависит от того, какую работу вы делаете.

  • Если вы сосредоточены только на самой разработке, возможно, вы не особо используете PowerShell.

  • Если вам также нужно позаботиться о таких вещах, как развертывание или поддержка пользователей, это может вам очень помочь.

Взгляните на этот вопрос , чтобы понять, для чего вы можете использовать PowerShell.

2 голосов
/ 13 июля 2009

Если вы ...

а) работа с файлами

и

б) делать то же самое с файлами более одного раза

... вы можете сэкономить время, изучая пакет или командную строку.

Обычно у меня всегда открыто три оболочки cmd.exe. Один для сборки ('make release platform'), один для greps, один для всего остального, что мне нужно сделать. Если вы выполняете массовое удаление командной строки, это намного эффективнее, и все, что вы делаете с файлами часто, следует максимально автоматизировать с помощью .bat.

Я не использовал PowerShell, но, похоже, это хорошее улучшение в пакетном режиме, которое весьма ограничено. Когда мне нужно больше энергии, я обычно переключаюсь на Python.

2 голосов
/ 13 июля 2009

В некоторых случаях это может быть полезно для быстрой автоматизации некоторых небольших задач. Например, я использую командный файл для упаковки расширений Firefox в файлы XPI. Но, кроме этого, единственный раз, когда я действительно использую его в Windows с точки зрения разработки, это создание сторонних библиотек, в которых есть только файлы Makefile.

С точки зрения системного администратора это может быть очень полезно, поскольку вы можете быстро получить доступ ко многим системным функциям, которые в противном случае требовали бы много времени для навигации по окнам панели управления. Запуск / остановка служб, управление брандмауэром и другими функциями безопасности и т. Д.

0 голосов
/ 13 июля 2009

Если вы планируете воспользоваться преимуществом Velocity (решение распределенного кэширования от MS), вам необходимо изучить PowerShell, поскольку это единственный способ его настройки.

Последовательная настройка IIS - еще один плюс для PowerShell.

0 голосов
/ 13 июля 2009

Командная строка - очень мощное оружие. В PowerShell вы можете использовать языки .NET для создания ваших скриптов.

Я рекомендую инструменты cmd из Windows Server 2003 Resource Kit (я думаю, по умолчанию в Windows Vista).

Средства комплекта ресурсов для Windows Server 2003

И я использую строку cmd и PowerShell для автоматизации некоторых операций при развертывании своих приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...