- Командная оболочка
- Содержание
- Командный интерпретатор
- Функции
- Стандартный командный интерпретатор
- Реализации и доступность
- Альтернативы
- Графическая оболочка
- Графические оболочки для OC Windows
- См. также
- Смотреть что такое «Командная оболочка» в других словарях:
- Основы командной строки Windows
- Понятие командной строки
- Краткий справочник по командам командной оболочки (Cmd.exe)
- Последовательность событий при выполнение команды
- Создание сценариев командной строки
- Управление отображением текста и команд
- Изучение системной информации
- Команды для использования реестра
- Управление системными службами
- Перезагрузка и выключение систем из командной строки
- Управление приложениями, процессами и производительностью
Командная оболочка
Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: интерфейс командной строки (CLI) и графический пользовательский интерфейс (GUI).
Содержание
Командный интерпретатор
Для обеспечения интерфейса командной строки в ОС часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями.
В операционные системы Windows 9x включён командный интерпретатор command.com, в Windows NT включён командных оболочек UNIX популярны csh, ksh и другие.
Как правило, при низкоуровневой настройке ОС у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.
Функции
Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла.
В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.
В совокупности с набором утилит, оболочка представляет собой операционную среду, полноценный язык программирования и мощное средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд.
Стандартный командный интерпретатор
Стандартом ISO/IEC 9945 (Том 3. Оболочка и утилиты) определен язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного («if», «case», «||», «&&») и циклического («for», «for in», «while», «until») исполнения команд, а также оператор присваивания.
Стандартом также определен режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора («vi»).
Реализации и доступность
В современных открытых Unix-подобных ОС наиболее распространены такие языки командных интерпретаторов как zsh, реализующие надмножества языка стандартной оболочки.
Для альтернативных ОС также доступны реализации этих оболочек.
Альтернативы
Наряду со стандартными, в открытых ОС применяются также альтернативные оболочки tcsh, отличающиеся синтаксисом управляющих конструкций и поведением переменных.
Некоторые альтернативные ОС поставляются с интерпретаторами собственных языков командных файлов (такими, как язык командных файлов ОС Microsoft Windows NT, язык OS/2 и т. п.)
Некоторые предпочитают пользоваться для автоматизации часто выполняемых последовательностей команд новыми интерпретируемыми языками, например, Python.
Графическая оболочка
Графические оболочки для OC Windows
Последние версии ОС Windows используют в качестве своей оболочки интегрированную среду Проводника Windows. Проводник Windows представляет собой визуальную среду управления включающую в себя Рабочий стол, Меню пуск, Панель задач, а также функции управления файлами. Ранние версии ОС Windows 3.xx в качестве графической оболочки включают менеджер программ.
Многие сторонние разработчики предлагают альтернативные среды, которые могут быть использованы вместо оболочки проводника, включенной по умолчанию компанией Microsoft в систему Windows.
- Aston shell
- BB4Win
- BBlean
- Cairo (Under Development)
- Chroma
- Emerge Desktop
- Geoshell
- Litestep
- Packard Bell Navigator
- Program Manager
- Secure Desktop
- SharpE
- Talisman Desktop
- WinStep
- Windows Explorer
- Microsoft Bob
См. также
Wikimedia Foundation . 2010 .
Смотреть что такое «Командная оболочка» в других словарях:
Командная оболочка UNIX — (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства UNIX, в котором пользова … Википедия
wish (командная оболочка UNIX) — У этого термина существуют и другие значения, см. Wish. wish (Windowing Shell) это простая сценарная или интерактивная командная оболочка UNIX для X Window System и Mac OS X. Она предоставляет пользователям возможность контролировать компоненты… … Википедия
Оболочка UNIX — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Командная строка — Сюда перенаправляется запрос Интерпретатор командной строки. На тему «Интерпретатор командной строки» нужна отдельная статья. Внешний вид оболочки (англ. Co … Википедия
Shell (командная строка) — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Командный процессор — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Shell script — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Unix shell — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Unix Shell — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Основы командной строки Windows
В данной статье будут рассмотрены основы командной строки 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 и версии приложений, рассчитанные на командную строку. Независимо от типа каждая команда, которую вы будете использовать, должна соответствовать одним и тем же синтаксическим правилам. Согласно этим правилам, за именем команды идут обязательные или необязательные аргументы. Кроме того, аргументы могут использовать перенаправление ввода, вывода или стандартных ошибок.
Последовательность событий при выполнение команды
- Командная оболочка заменяет любые переменные, введенные в тексте команд, их текущими — значениями;
- Если введена группа или цепочка из нескольких команд, строка разбивается на отдельные команды, которые в свою очередь разбиваются на имя и аргументы команды. Далее команды обрабатываются по отдельности;
- Если в имени команды указан путь, командная оболочка ищет команду по этому пути. Если в указанном каталоге такой команды нет, командная оболочка возвращает ошибку;
- Если в имени команды не задан путь, командная оболочка сначала пытается разрешить имя команды на внутреннем уровне. Если найдена внутренняя команда с таким именем, значит, вызвана внутренняя команда, которую сразу же можно выполнить. Если внутренней команды с таким именем нет, командная оболочка сначала ищет исполняемый файл команды в текущем каталоге, а затем в каталогах, перечне в переменной окружения PATH. Если файла команды нет ни в одном из этих каталогов, командная оболочка возвращает ошибку;
- Если команда найдена, она выполняется с заданными аргументами и при необходимости ввод считывается из источника, указанного в этих аргументах. Вывод и ошибки команд показываются в окне командной строки или направляются заданному приемнику вывода и ошибок.
- Как видите, на выполнение команд влияют многие факторы, в том числе пути к командам, перенаправление ввода-вывода, группирование или создание цепочек команд.
При работе с командной оболочкой Вы, вероятно, запускали ее, открывая меню Start (Пуск) и выбирая Programs (Программы) или All Programs (Все программы), затем Accessories (Стандартные) и Command Prompt (Командная строка). Другие способы запуска командной строки — диалоговое окно Run (Запуск программы) или ввод cmd в другом, уже открытом окне командной оболочки. Эти способы позволяют при запуске командной строки указывать аргументы: ключи, управляющие работой командной строки, и параметры, инициирующие выполнение дополнительных команд. Например, можно запустить командную оболочку в «молчаливом» режиме (т. е. отключить эхо-вывод) командой cmd /q или сделать так, чтобы командная оболочка выполнила заданную команду и завершила свою работу, — для этого нужно ввести cmd /с, а затем текст команды в кавычках.
В следующем примере командная оболочка запускается, выполняет команду ipconfig с выводом результатов в файл и завершается:
Создание сценариев командной строки
Сценарии командной строки — текстовые файлы с командами, которые вы хотите выполнить. Это те же команды, которые обычно вводятся в командной оболочке Windows. Однако вместо того чтобы вводить команды каждый раз, когда они понадобятся, можно создать соответствующий сценарий и упростить себе жизнь.
Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды:
Управление отображением текста и команд
Команда ECHO служит двум целям: для записи текста в вывод (например, в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing).
Чтобы использовать команду ECHO для отображения текста, введите echo и текст, который надо вывести:
Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например:
Чтобы направить вывод в файл, а не в окно командной оболочки, используйте перенаправление вывода, например:
Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите 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 выглядит так:
Здесь параметр /r указан для рекурсивного поиска, начиная от указанного каталога (базовый_каталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data. txt или data*.*. В следующем примере в каталоге С:\ и всех его подкаталогах выполняется поиск всех текстовых файлов, имена которых начинаются с data.
Также можно найти файлы всех типов, имена которых начинаются с 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 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-адрес компьютера перед используемой подкомандой. Вот синтаксис:
Перезагрузка и выключение систем из командной строки
Системы нередко приходится перезагружать или выключать. Один из способов — использовать для этого утилиту Shutdown, которая позволяет работать с локальной и удаленными системами. Другой способ управлять выключением или перезагрузкой системы — назначить задание для выключения. Здесь можно использовать Schtasks, чтобы указать время выключения, или создать сценарий со списком команд выключения для индивидуальных систем.
Управлять перезагрузкой и выключением локальной системы позволяют следующие команды.
Выключение локальной системы:
Перезагрузка локальной системы:
Управление приложениями, процессами и производительностью
Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:
- Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit;
- Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти;
- Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров.
Вот в принципе все, что я хотел рассказать об основах командной строки Windows.