Компьютерра, 2006 № 05 (625) - [29]

Шрифт
Интервал

Собственно, сам shell. В простейшем случае оболочка, приняв строку от пользователя, находит в системе соответствующую программу, выполняет ее и выводит результат в виде обычного текста. Примерами для Unix являются bash, csh, tcsh, zsh, psh и т. д. Продвинутые оболочки облегчают ввод данных, предлагая выбор из ограниченного количества вариантов команд и их параметров.

Язык сценариев программной оболочки. Команды, которые пользователь вводит в командной строке, — это не просто названия программ, а прежде всего — управляющие конструкции языка программирования, оболочка же является его интерпретатором. Таким образом, в командной строке можно задать достаточно сложный сценарий (скрипт) с условными операторами, циклами, функциями и т. д.

Композиционная модель системы: большое количество слабо связанных друг с другом простых программ-утилит (awk, sed, grep, sort, …). Объединяя команды в цепочку (pipeline), можно реализовать весьма сложные процессы обработки данных и управления системой.

Клавиатура, с которой он давно сросся.

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

До недавнего времени все это относилось в основном к Unix-системам. Ни для кого не секрет, что, несмотря на наличие некоторой командной строки в Windows, управлять продуктами Microsoft с ее помощью не слишком удобно. Графический интерфейс де-факто является стандартным средством управления в операционных системах Windows, и зачастую функции GUI не имеют аналогов командной строки, даже для серверных продуктов. И наоборот, функционал текстовых утилит не всегда реализован в GUI. Так было до появления проекта под кодовым названием Monad. О нем и пойдет речь в этой статье.


Проверка орфографии

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


C:\ > echo «Mother washes winsodsdsd» > text.txt

C:\ > $wordApp = new-object —com Word.Application

C:\ > get-content (dir *.txt) | foreach { $_.Split(‘ ‘) } | where { !$wordApp.CheckSpelling($_) } | sort -Unique

winsodsdsd

C:\ >

Более подробный код находится на сайте разработчиков Monad. Существует бесконечное множество способов использовать функции продуктов Office в своих программах и тем более скриптах.

Предыстория

Нельзя сказать, что невеселое положение дел на «командном» фронте устраивало Microsoft — на всем протяжении развития Windows предпринимались попытки улучшить ситуацию в этой области (см. табл. 1). Однако имеющиеся недостатки не позволяли командной строке стать полноценным инструментом.

В command.com и его потомке cmd.exe команды не являлись отдельными программами, как в Unix, а были реализованы непосредственно в самой оболочке. Эта особенность, по-видимому, препятствовала расширению функциональности системы. Команды command.com и cmd.exe оставались плохо документированными и бедными по возможностям, тогда как программы-утилиты Unix-систем активно развивались сообществом пользователей. Кроме всего прочего, обе оболочки не соответствовали стандарту POSIX, разработанному для Unix-оболочек. Следовательно, сценарии, написанные для POSIX-оболочек, не могли быть адаптированы под cmd.exe — равно как и опыт администраторов.

Services For Unix (SFU), разработанные еще для Windows NT, предназначались для упрощения задач по интеграции Windows— и Unix-систем. По сути, SFU — это Unix-система, которая запускается под управлением Windows. В ее состав входят ключевые Unix-сервисы, POSIX-совместимые программные оболочки и более трехсот утилит.

Поначалу продукт не был включен в состав операционной системы — его нужно было приобретать отдельно. И хотя сейчас SFU свободно распространяется и даже входит в Windows Server 2003 R2, коммерческое распространение не способствовало ее популярности. Кроме того, чуждая для Windows модель POSIX оказалась плохо совместимой с большинством продуктов, изначально делавшихся для Windows.

Windows Scripting Host (WSH), разработанный для всех версий Windows, предоставляет доступ к управлению системой с использованием сценариев, написанных на Jscript или VBscript. Однако он не был интегрирован с командной строкой. Непрозрачная документация, сложность в изучении и большое количество вирусов, использующих WSH, не позволили технологии получить широкое распространение.

Несмотря на то что в Windows явно ощущается дефицит полнофункционального консольного интерфейса, программный интерфейс управления системой существует давно: это Windows Management Instrumentation (WMI). История Monad начинается в 2000 году, когда Джеффри Сновер (Jeffrey Snover), архитектор продукта, приступил к созданию пользовательского интерфейса командной строки для WMI, названного WMIC. Пользователи Windows XP и Windows Server 2003 могут ознакомиться с ним, набрав в стандартной командной строке «wmic.exe», и получить справку о командах с помощью команды «/?». Интерфейс получился недостаточно стройным, ориентированным прежде всего на функциональные особенности WMI, а не на пользователя. Этот факт еще мог устроить корпорацию Microsoft, чьи продукты поддерживали WMI, но вряд ли обрадовал разработчиков сторонних компаний, не использующих этот интерфейс. Функциональность WMIC расширялась плохо, поскольку реализована была точно так же, как и в cmd.exe. В то же время инструменты управления продуктами Microsoft подвергались критике Главного Архитектора (Билл Гейтс) из-за слабого использования .NET-языков. Было решено переписать WMIC на C#. В определенный момент Сновер понял, что не обязан ограничиваться классами WMI и может использовать в своем продукте любые классы .NET, получая в распоряжение всю мощь платформы.


Еще от автора Журнал «Компьютерра»
Компьютерра, 2008 № 01-02 (717-718)

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


Компьютерра, 2007 № 15 (683)

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


Компьютерра, 2008 № 10 (726)

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


Цифровой журнал «Компьютерра» 2013 № 18 (171)

ОглавлениеКолонкаПочему мы позволяем нас обманывать, или Грустные размышления об иррациональности политической жизни Автор: Дмитрий ШабановГолубятня: Samsung Galaxy S4 — цидули перебежчика (часть 1) Автор: Сергей ГолубицкийУроки любви к Родине: McAfee патентует технологию обнаружения и блокировки пиратского содержания Автор: Сергей ГолубицкийПодпадает ли астрономия под закон о митингах Автор: Дмитрий ВибеIT-рынокНасколько глупа шумиха вокруг «умных» часов? Автор: Андрей ПисьменныйПромзонаПосмотрите на свалку, которую китайцы превратили в парк Автор: Николай МаслухинЭтот сайт позволяет создать собственное световое шоу на точном макете Токио Автор: Николай МаслухинТехнологииДжипег, подвинься! Веппи как единственный необходимый графический формат Автор: Евгений ЗолотовИнновацииПочему менеджерам российских корпораций не нужны стартапы Автор: Елена КраузоваИнга Нахмансон (Fitting Reality): «Российскому e-commerce не до виртуальности» Автор: Елена КраузоваГидGoogle Now для iOS появился без лишнего шума и уже собирает сведения Автор: Андрей Васильков.


Компьютерра, 2006 № 30 (650)

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


Цифровой журнал «Компьютерра» 2012 № 01 (101)

ОглавлениеСтатьиTertium datur: другие компьютеры Автор: Евгений Лебеденко, Mobi.ruИнтервьюПавел Фролов («ГНУ/Линуксцентр») о НПП Автор: Евгений КрестниковА. Самсонов о троичной логике и цифровой археологии Автор: Андрей ПисьменныйКолумнистыВасилий Щепетнёв: Месть индейских вождей Автор: Василий ЩепетневКивино гнездо: Беззаконие роботехники Автор: Киви БердКафедра Ваннаха: Подарки и конструкции Автор: Михаил ВаннахАлександр Амзин: Силой данного мне природой мозга Автор: Александр АмзинВасилий Щепетнёв: Гимн усталому караулу Автор: Василий ЩепетневКивино гнездо: Беззаконие роботехники (окончание) Автор: Киви БердДмитрий Шабанов: Марков и Эволюция человека Автор: Дмитрий ШабановКафедра Ваннаха: Пришельцы на Луне Автор: Михаил ВаннахГолубятня-ОнлайнГолубятня: Даже гоблин ходит в отпуск Автор: Сергей ГолубицкийГолубятня: Железный парад 2011 Автор: Сергей Голубицкий.


Рекомендуем почитать
«Если», 2005 № 07 (149)

Вернор ВИНДЖКУКИ-МОНСТРЕсли поутру вы не можете вспомнить обстоятельства вчерашнего дня, то хочется свалить вину на бурно проведенный вечер. Ну а если и это не так?Елена ХАЕЦКАЯБУГГО И ПИРАТЫЧитателю журнала не впервой путешествовать на космическом корабле «Ласточка», ведомом стойким капитаном Бугго Анео. Но на этот раз полет будет куда опаснее.Фрэнк РОДЖЕРБАБУШКИНО ПУТЕШЕСТВИЕ НА ЛУНУНа Луне — улетный шопинг, если кто не знает. И цены, между прочим, вполне приемлемые.Терри МАКГЕРРИСТРЕМНИНАЧужие тайны — штука коварная.


«Если», 2009 № 05 (195)

Джон КЕССЕЛГОРДОСТЬ И ПРОМЕТЕЙИстория Виктора Франкенштейна продолжает тревожить умы писателей… Хотя стилистически эта повесть ближе не прозе Мэри Шелли, а перу Джейн Остин.Кристин Кэтрин РАШКОМНАТА ЗАТЕРЯННЫХ ДУШОднажды «нырнув в крушение», знакомая нам героиня зареклась заниматься спейс-дайвингом. Надолго ли ее хватит?Сергей КУПРИЯНОВЛОВУШКА ШЕРМАНАДело пахнет керосином! Жаль, бравые вояки поняли это слишком поздно.Джек СКИЛЛИНСТЕДВСЁ, ЧТО ТЫ УВИДИШЬПленный пришелец стремится переиграть своего палача, меняя реальности.Олег ДИВОВСТРЕЛЬБА ПО ТАРЕЛКАМТакая вот национальная забава… И не по-смеет инопланетный супостат топтать нашу картошку!Кир БУЛЫЧЁВПЛЕННИКИ ДОЛГАПисатель никогда не забывал об одном из своих любимых героев.


День Литературы, 2001 № 08 (059)

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


День Литературы, 2001 № 06 (057)

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


День Литературы, 2002 № 07 (071)

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


День Литературы, 2010 № 02 (162)

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


Компьютерра, 2008 № 17 (733)

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


Компьютерра, 2006 № 06 (626)

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


Компьютерра, 2006 № 23 (643)

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


Компьютерра, 2005 № 27-28 (599-600)

Документ создан на основе открытого контента, расположенного по адресуhttp://offline.computerra.ru/2005/599/Размер изображений не менялся, поэтому некоторые могут быть некорректно отображены на неVGA-моделях КПК (особенно скриншоты и таблицы).