В Windows XP появилось около 30 новых консольных команд. Тем не менее один аспект по-прежнему однозначно трактуется не в пользу Windows: якобы использование консоли в этой ОС не только непопулярно (что в большой мере правда), но и неудобно, неэффективно и пр. На самом деле этот тезис не совсем корректен, однако почва для него безусловно существует. Возьмите практически любую книгу (вовсе не обязательно «для чайников») о Windows — наверняка о командной строке там нет ни слова.
В первую очередь это объясняется архитектурными особенностями ОС, которую невозможно представить вне графического интерфейса пользователя (в отличие от клонов Unix). Естественно, броское оформление — не самоцель, хотя именно на него реагируют многочисленные пользователи, особенно начинающие. Графическая подача информации во многих случаях действительно удобнее (скажем, выбор из нескольких вариантов становится гораздо нагляднее и очевиднее) и не только в компьютерном мире. Впрочем, спор этот извечный, касается отнюдь не только ОС, и что-то в нем доказать не представляется возможным — у каждого свои вкусы и привычки, расставаться с ними непросто, да и не нужно.
Вторая причина, вызывающая особо острую критику со стороны апологетов Unix, состоит в относительной «скудости» консольных средств. Многообразием командных интерпретаторов Windows действительно не блещет. Однако нужно четко понимать разницу между ОС, созданной и сопровождаемой (ныне, присно и во веки веков) одной-единственной компанией, и ОС, над которой трудится целое сообщество программистов, — их мнения зачастую могут весьма различаться. По-видимому Microsoft вполне удовлетворена возможностями стандартного CMD, укладывающимися в ее видение «идеальной» системы, но ничто не мешает воспользоваться сторонними (и порой весьма неплохими) разработками вроде Kixtart или даже Cygwin, перенесенной в Windows прямо из Unix.
Так или иначе, но для многих стандартных задач действительно необходимы альтернативные средства их решения, в том числе и из командной строки. В конце концов, удаленное управление, в том числе и Telnet, операционным системам Microsoft отнюдь не чуждо. И нужно сказать, их арсенал (в самой Windows представленный уже упомянутым CMD и консольными утилитами) на самом деле не так уж скуден. Чего стоит одна только команда net, позволяющая выполнять все основные административные задачи — «вручную» или из командных файлов и сценариев (скриптов). С другой стороны, такую задачу, как переименование рабочей станции в домене можно выполнить только из командной строки с помощью netdom (ее нужно установить дополнительно вместе с пакетом Support Tools, расположенным в папке Support\Tools на инсталляционном CD-ROM). Аналогично для переименования самого домена также требуется специальная утилита.
Более того, от версии к версии командная поддержка в ОС Microsoft только расширяется, причем не в последнюю очередь за счет обратной связи с пользователями. Скажем, долгое время в Windows почему-то отсутствовала специальная утилита для перезагрузки компьютера, поэтому приходилось применять всевозможные трюки вроде
rundll32.exe
shell32.dll,SHExitWindowsEx n
для Windows 9х или ПО сторонних разработчиков. В Windows XP наконец-то появилась полноценная утилита shutdown (похожая распространялась и прежде в составе Resource Kit), с помощью которой можно выключить или перезагрузить как локальную, так и удаленную систему (при наличии соответствующих полномочий), оповестить при этом оператора и т. д.
Достаточно полная информация по утилитам командной строки Windows XP содержится в стандартной справочной системе, однако быстрее и удобнее воспользоваться отдельным документом посредством команды hh ntcmds.chm. В частности, специальный раздел описывает порядка 30 команд-утилит (кстати, некоторые реализованы в виде WSH-скриптов), впервые вошедших в состав ОС. Среди них: defrag — для автоматизации процессов дефрагментации, tasklist и taskkill — для управления задачами и процессами, schtasks — для планирования заданий и т. д.
Довольно любопытна группа программ для работы с системными событиями: eventcreate дает возможность администратору создавать в журнале собственные записи, скажем, при выполнении специфических скриптов или командных файлов, а eventtriggers — оформлять особые процедуры-«пускатели», срабатывающие при появлении определенных записей и выполняющие предписанные действия. Например, следующая команда обеспечит отправку администратору соответствующих сообщений (в bat-файле содержится одна строка с net send) при установке/удалении ПО посредством службы Windows Installer:
eventtriggers /create /TR «Installer» /L APPLICATION /SO MsiInstaller /TK f:\send.bat
Утилита fsutil, кроме всего прочего, позволяет использовать наиболее хитроумные возможности файловой системы NTFS, в том числе создавать так называемые «жесткие ссылки» (hardlinks), т. е. несколько каталожных записей, указывающих на одни и те же физические данные на диске, и управлять большими «разреженными» (sparse) файлами с целью экономии дискового пространства.
Некоторые команды Windows XP на самом деле представляют собой самостоятельные консольные оболочки. К таковым, например, относится программа для разбивки жесткого диска diskpart — ее возможности выходят далеко за рамки привычной fdisk. Естественно, консольный (интерактивный) режим удобен далеко не всегда, поэтому операции можно автоматизировать с помощью специальных сценариев.
Аналогично WMIC обеспечивает доступ к функциональности подсистемы Windows Management Instrumentation. Впрочем, для большинства типовых задач WMI представляет слишком тяжеловесное (в первую очередь с точки зрения освоения этой технологии) средство, обычно вполне достаточно «традиционных» команд и утилит Windows XP, тем более, что многие из них (как, например, уже упоминавшаяся shutdown) поддерживают дистанционный режим. В общем случае он описывается следующим стандартным набором параметров командной строки:
[/S system [/U username [/P password]]]
где system — имя удаленного компьютера, а username и password позволяют выполнять задачи от имени конкретного пользователя, имеющего необходимые полномочия. Интересно, что в качестве удаленной платформы могут выступать как Windows XP, так и Windows 2000 (с какими-то ограничениями или несовместимостями мы пока не сталкивались), хотя для Windows 9x выдается следующее предупреждение: «ERROR: The Target system must be running Windows XP or above».
Еще один класс команд и утилит предназначен для использования в Recovery Console, причем некоторые — вроде fixboot и fixmbr для восстановления загрузочной записи раздела и MBR соответственно — доступны только здесь. Вот вам более чем достойный повод не забывать о консольном режиме и старых добрых текстовых командах. Таким образом, графический интерфейс и командная строка вовсе не являются взаимоисключающими понятиями, просто каждое средство хорошо для своей ситуации, а подлинный профессионализм состоит в умении выбирать из них оптимальное. Все эти программы ищите на сайте WinZone.ru
Автор: Игорь Дериев
Источник: http://www.itc.ua