В данной статье будет рассмотрена очень полезная возможность Windows как – Командная строка. В статье затронуты как бы основы командной строки, а именно: - Понятие командной строки - справочник по командам командной оболочки - последовательность событий при выполнение команды - Создание сценариев командной строки - Управление отображением текста и команд - команды для изучение системной информации - команды для использования реестра - Управление системными службами - Перезагрузка и выключение систем из командной строки - Управление приложениями и процессами из командной строки
Поддержка командной строки встроена в операционную систему Microsoft Windows и доступна через окно командной оболочки. Командная строка поддерживается во всех версиях Windows и служит для запуска встроенных команд, утилит и сценариев. Несмотря на мощь и гибкость командной строки, некоторые администраторы Windows никогда ее не используют. Если вам хватает графических средств администрирования, можно применять только их, щелкая мышью элементы пользовательского интерфейса. Однако опытные администраторы Windows, квалифицированные специалисты по технической поддержке и «продвинутые» пользователи не могут обойтись без командной строки. Зная, как правильно применять командную строку, в частности, какие средства командной строки выбрать, как и когда их использовать, чтобы они работали эффективно, можно избежать многочисленных проблем и добиться четкого выполнения операций. Если вы занимаетесь поддержкой нескольких доменов или сетей, то для автоматизации ежедневных операций не только важно, но и необходимо иметь представление об экономящих время способах работы с командной строкой. С каждой новой версией Windows командная строка совершенствовалась, а ее возможности расширялись. Командная строка претерпела значительные изменения, связанные не только с повышением производительности, но и с увеличением гибкости. Теперь с помощью командной строки Windows можно решать задачи, которые нельзя было решить в предыдущих версиях Windows. Среду командной оболочки Windows запускают разными способами, в частности указывая параметры при запуске Cmd.exe или используя собственный стартовый файл, хранящийся в каталоге %SystemRoot%\System32. Кроме того, командная строка может работать в пакетном режиме для выполнения набора команд. В пакетном режиме командная строка считывает и выполняет команды одну за другой. Работая с командной строкой Windows, вы должны понимать, откуда берутся используемые вами команды. «Родные» команды (встроенные в операционную систему) бывают двух видов: ■ внутренние — существуют внутри командной оболочки; у них нет отдельных исполняемых файлов; ■ внешние — реализованы в отдельных исполняемых файлах, которые обычно хранятся в каталоге %SystemRoot% \System32.
Краткий справочник по командам командной оболочки (Cmd.exe)
- assoc Выводит или изменяет сопоставления (associations)
- типов файлов
- break Задает точки останова при отладке
- call Вызывает из сценария процедуру или другой сценарий
- cd (chdir) Показывает имя текущего каталога или выполняет смену текущего каталога
- cls Очищает окно командной строки и буфер экрана
- color Задает цвета текста и фона окна командной оболочки
- сору Копирует файлы или выполняет конкатенацию файлов
- date Показывает или устанавливает текущую дату
- del (erase) Удаляет заданный файл, группу файлов или каталог
- dir Показывает список подкаталогов и файлов в текущем или заданном каталоге
- echo Выводит текст в окно командной строки или задает, надо ли отображать команды на экране (on|off)
- endlocal Отмечает конец локализации (локальной области видимости) переменных
- exit Выход из оболочки командной строки
- for Выполняет заданную команду для каждого файла в наборе
- ftype Выводит или изменяет текущие типы файлов в сопоставлениях расширений файлов с программами
- goto Указывает, что интерпретатор команд должен перейти настроку с заданной меткой в пакетном сценарии
- if Выполняет команды но условию
- md (mkdir) Создает подкаталог в текущем или заданном каталоге
- move Перемещает файл или группу файлов из текущего или заданного исходного каталога в указанный каталог. Также может переименовывать каталог
- path Показывает или задает путь к командам, используемый операционной системой при поиске исполняемых файлов и сценариев
- pause останавливает выполнение пакетного файла и ожидает ввода с клавиатуры
- popd Делает текущим каталог, имя которого было сохранено командой PUSHD
- prompt Указывает, какой текст должен показываться в строке приглашения
- pushd Сохраняет имя текущего каталога и при необходимости делает текущим заданный каталог
- rd (rmdir) Удаляет каталог или каталог вместе с его подкаталогами
- rem Помечает комментарии в пакетном сценарии или Config.nt
- ren (rename) Переименовывает файл или группу файлов
- set Показывает текущие переменные окружения или задает временные переменные для текущей командной оболочки
- setlocal Отмечает начало локализации (локальной области видимости) переменных в пакетных сценариях
- shift Сдвигает позицию замещаемых параметров в пакетных сценариях
- start Запускает заданную программу или команду в отдельном окне
- time Показывает или устанавливает системное время
- title Задает заголовок окна командной оболочки
- type Показывает содержимое текстового файла
- verify Включает режим проверки файлов после записи на диск
- vol Показывает метку и серийный номер дискового тома
Синтаксис любой внутренней команды (и большинства внешних) можно получить, введя в командной строке имя команды и /?, например: сору /? Командная оболочка — весьма мощная среда работы с командами и сценариями. В командной строке можно запускать команды разных типов: встроенные команды, утилиты Windows и версии приложений, рассчитанные на командную строку. Независимо от типа каждая команда, которую вы будете использовать, должна соответствовать одним и тем же синтаксическим правилам. Согласно этим правилам, за именем команды идут обязательные или необязательные аргументы. Кроме того, аргументы могут использовать перенаправление ввода, вывода или стандартных ошибок.
Выполняя команду в командной оболочке, вы инициируете такую последовательность событий.
1. Командная оболочка заменяет любые переменные, введенные в тексте команд, их текущими - значениями. 2. Если введена группа или цепочка из нескольких команд, строка разбивается на отдельные команды, которые в свою очередь разбиваются на имя и аргументы команды. Далее команды обрабатываются по отдельности. 3. Если в имени команды указан путь, командная оболочка ищет команду по этому пути. Если в указанном каталоге такой команды нет, командная оболочка возвращает ошибку. 4. Если в имени команды не задан путь, командная оболочка сначала пытается разрешить имя команды на внутреннем уровне. Если найдена внутренняя команда с таким именем, значит, вызвана внутренняя команда, которую сразу же можно выполнить. Если внутренней команды с таким именем нет, командная оболочка сначала ищет исполняемый файл команды в текущем каталоге, а затем в каталогах, перечне в переменной окружения PATH. Если файла команды нет ни в одном из этих каталогов, командная оболочка возвращает ошибку. 5. Если команда найдена, она выполняется с заданными аргументами и при необходимости ввод считывается из источника, указанного в этих аргументах. Вывод и ошибки команд показываются в окне командной строки или направляются заданному приемнику вывода и ошибок. Как видите, на выполнение команд влияют многие факторы, в том числе пути к командам, перенаправление ввода-вывода, группирование или создание цепочек команд. При работе с командной оболочкой вы, вероятно, запускали ее, открывая меню Start (Пуск) и выбирая Programs (Программы) или All Programs (Все программы), затем Accessories (Стандартные) и Command Prompt (Командная строка). Другие способы запуска командной строки — диалоговое окно Run (Запуск программы) или ввод cmd в другом, уже открытом окне командной оболочки. Эти способы позволяют при запуске командной строки указывать аргументы: ключи, управляющие работой командной строки, и параметры, инициирующие выполнение дополнительных команд. Например, можно запустить командную оболочку в «молчаливом» режиме (т. е. отключить эхо-вывод) командой cmd /q или сделать так, чтобы командная оболочка выполнила заданную команду и завершила свою работу, — для этого нужно ввести cmd /с, а затем текст команды в кавычках. В следующем примере командная оболочка запускается, выполняет команду ipconfig с выводом результатов в файл и завершается: cmd /с "ipconfig > c:\ipconfig.txt"
Создание сценариев командной строки
Сценарии командной строки — текстовые файлы с команда¬ми, которые вы хотите выполнить. Это те же команды, которые обычно вводятся в командной оболочке Windows. Одна¬ко, вместо того чтобы вводить команды каждый раз, когда они понадобятся, можно создать соответствующий сценарий и упростить себе жизнь. Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (Блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды: hostname ver ipconfig -all
Управление отображением текста и команд
Команда ECHO служит двум целям: для записи текста в вы¬вод (например в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing). Чтобы использовать команду ECHO для отображения текста, введите echo и текст, который надо вывести: echo The system host name Is: hostname Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например: echo off echo The system host name is: hostname Чтобы направить вывод в файл, а не в окно командной оболочки, используйте перенаправление вывода, например: echo off echo The system host name is: > current.txt hostname » current.txt Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите echo off, затем другие команды. Вы увидите, что приглашение командной строки больше не выводится. Вместо него появляется только то, что набирается в консольном окне, и вывод выполненных команд. В сценариях команда ECHO OFF отключает эхо-отображение команд и приглашение командной строки. Добавляя в свои сценарии команду ECHO OFF, вы предотвращаете загромождение окна командной оболочки или файла текстом команд, если вас интересует лишь вывод от этих команд.
Изучение системной информации
Часто при работе с компьютером пользователя или удаленным сервером возникает необходимость в получении базовой информации о системе вроде имени зарегистрированного в ней пользователя, текущего системного времени или местоположения определенного файла. Команды, которые позволяют собрать основную информацию о системе, включают: ■ NOW — отображает текущую системную дату и время в 24-часовом формате, например Sal May 9 12:30:45 2003. Доступна только в Windows Server 2003 Resource Kit; ■ WHOAMI — сообщает имя пользователя, зарегистрированного в системе на данный момент, например adatum\admi-nistrator; ■ WHERE — выполняет поиск файлов по шаблону поиска (search pattern) и возвращает список совпавших результатов. Чтобы использовать NOW или WHOAMI, просто введите команду в окне командной оболочки и нажмите Enter. Наиболее распространенный синтаксис для WHERE выглядит так: where /г базовыйКаталог имя_файла
Здесь параметр /г указан для рекурсивного поиска, начиная от указанного каталога (\базовыйКаталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data???.txt или data*.*. В следующем примере в каталоге С:\ и всех его подкаталогах выполняется по¬иск всех текстовых файлов, имена которых начинаются с data; where /г С:\ data*.txt Также можно найти файлы всех типов, имена которых начинаются с data: where /г С:\ data*.* Иногда нужно получить информацию о конфигурации системы или о системном окружении. В критически важных системах эту информацию можно сохранить или распечатать для справки. Ниже перечислены команды, позволяющие собирать информацию о системе. ■ DRIVERQUERY — выводит список всех установленных драйверов устройств и их свойства, в том числе имя моду¬ля (module name), отображаемое имя (display name), тип драйвера и дату сборки (driver link date). В режиме отобра¬жения всей информации (/V) сообщается статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе. Параметр /V также включает вывод детальной информации обо всех неподписанных драйверах. ■ SYSTEMINFO — выдает подробную информацию о конфигурации системы, в том числе сведения о версии, типе и из¬готовителе операционной системы, процессоре, версии BIOS, объеме памяти, региональных стандартах, часовом поясе и конфигурации сетевого адаптера. ■ NLSINFO — отображает подробную информацию о регио¬нальных стандартах, включая язык по умолчанию (default language), кодовую страницу Windows, форматы отображения времени и чисел, часовой пояс и установленные кодовые страницы. Эта команда доступна лишь в Windows Server 2003 Resource Kit. Чтобы использовать эти команды на локальном компьютере, просто введите имя нужной команды в окне командной оболочки и нажмите Enter.
Команды для использования реестра
Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры.
Если вы знаете пути к разделам и понимаете допустимые типы данных в разделах, то можете использовать команду REG для просмотра разделов и параметров и манипуляций над ними самыми разнообразными способами. REG поддерживает несколько подкоманд, и мы рассмотрим некоторые из них. В следующих разделах рассказывается о каждой из подкоманд REG, перечисленных ниже. ■ REG add — добавляет в реестр новый подраздел или элемент. ■ REG delete — удаляет из реестра подраздел или элемент. ■ REG query — выводит список элементов раздела и имена подразделов (если они есть). ■ REG compare — сравнивает подразделы или элементы реестра. ■ REG сору — копирует элемент реестра по указанному пути раздела на локальной или удаленной системе. ■ REG restore — записывает в реестр ранее сохраненные подразделы, элементы и параметры. ■ REG save — сохраняет копию указанных подразделов, элементов и параметров реестра в файл.
Управление системными службами
Службы обеспечивают ключевые функции рабочих станций и серверов. Для управления системными службами на локальных и удаленных системах используется команда контроллера служб (service controller command) SC, имеющая набор подкоманд; здесь описывается лишь их часть ■ SC config — настройка учетных записей регистрации и запуска служб; • SC query — вывод списка всех служб, настроенных на компьютере; ■ SC qc отображение конфигурации определенной службы; ■ SC start — запуск служб; ■ SC stop — останов служб; ■ SC pause — приостановка работы служб; ■ SC continue — возобновление работы служб; ■ SC failure — задание действий, выполняемых при сбое службы; ■ SC qfailure — просмотр действий, выполняемых при сбое службы. Во всех командах можно указывать имя удаленного компьютера, со службами которого вы хотите работать. Для этого вставьте UNC-имя или IP-адрес компьютера перед используемой подкомандой. Вот синтаксис: sc ИмяСервера Подкоманда
Перезагрузка и выключение систем из командной строки
Системы нередко приходится перезагружать или выключать. Один из способов — использовать для этого утилиту Shutdown, которая позволяет работать с локальной и удаленными системами. Другой способ управлять выключением или перезагрузкой системы — назначить задание для выключения. Здесь можно использовать Schtasks, чтобы указать время выключения, или создать сценарий со списком команд выключения для индивидуальных систем.
Управлять перезагрузкой и выключением локальной системы позволяют следующие команды. Выключение локальной системы: shutdown /s /t ЗадержкаВыключения /1 /f Перезагрузка локальной системы: shutdown /г /t ЗадержкаВыключения /1 /f
Управление приложениями, процессами и производительностью
Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся: ■ Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit; Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти
■ Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров. В следующих разделах подробно обсуждается, как применяются эти утилиты командной строки. Но сначала рассмотрим, как выполняются процессы и каковы наиболее распространенные проблемы, которые могут встретиться при работе с ними.
Вот в принципе все, что я хотел рассказать об основах командной строки Windows<
|