Какой ключ позволяет вывести справку по текущей команде

Обновлено: 04.07.2024

Командная строка Windows - очень удобный инструмент, если уметь им правильно пользоваться. Преимущество командной строки в том, что можно выполнять огромное множество задач быстро и эффективно, причем некоторые из них недоступны в графической среде. Но ради этого придется пожертвовать интуитивной понятностью графического интерфейса и запомнить огромное количество команд командной строки.

У тех кто не работал с командной строкой в первую очередь возникает вопрос: Как открыть командную строку Windows?

Запуск командной строки Windows.

Программа консоли Windows, как и многие другие системные программы, находится в директории c:\Windows\system32 и называется cmd.exe. Так как консоль Windows является системной программой, то открыть командную строку в любой версии Windows, включая Windows10, можно через инструмент "Выполнить", введя название программы cmd.

Нажимаем сочетание клавиш Win+R или через меню Пуск > пр. клав. мыши > Выполнить (актуально для Windows 10), вводим название программы консоли - cmd, жмем ОК или клавишу Enter.

открыть командную строку Windows

Альтернативный способ - открыть командную строку в Windows 10 через поиск. Для этого дастаточно в строке поиска на панели задач начать вводить слово "cmd" или "командная".

В результате поиска будет предложено несколько действий, одно из которых позволяет запустить Командную строку Windows 10 от имени администратора

октрыть командную строку через поиск от имени администратора

В открывшейся консоли CMD мы увидим стандартное приветствие командной строки Windows. Текущей директорией является папка пользователя. Если консоль открыта от имени Администратора, то текущей директорией будет c:\windows\system32.

командная строка Windows

Команды командной строки.

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

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

Посмотреть справку по использованию команды можно используя следующий синтаксис.

Например справка по команде COPY будет выглядеть так.

вызов справке по команде командной строки

Список всех доступных команд можно посмотреть используя команду HELP.


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

Операции с файлами и папками.

ATTRIB (attribute) - отображение и изменение атрибутов файлов
CD (change directory) - перейти в другую папку
COPY - копирование файлов в другое место
DEL (delete) или ERACE - удаление файлов
DIR (directory) - вывести список папок и файлов директории
EDIT - запуск редактора файлов (исключен в Windows 10)
EDLIN - построчный текстовый редактор (исключен в Windows 10)
EXPAND - распаковка сжатых файлов
FC (file comparation) - сравнить файлы и вывести различия между ними
FIND - найти в файле текстовую строку
MD или MAKEDIR (make directory) - создать папку
MOVE - переместить файлы из одной папки в другую
PRINT - вывести содержимое текстового файла на печать
RD или RMDIR (remove directory) - удалить папку
REN или RENAME - переименовать файл или папку
REPLACE - заменить файлы одного каталога файлами с аналогичным названием из другого каталога (заместить)
ROBOCOPY - запустить улучшенное средство копирования файлов и каталогов
TREE - показать структуру каталогов диска или папки
TYPE - вывести содержимое текстовых файлов на экран
XCOPY - копировать файлы и деревья каталогов

Работа с дисками.

CHKDISK (check disk) - проверить диск и вывести статистику
CHKNTFS (check ntfs) - отобразить или изменить выполнение проверки диска при загрузке
COMPACT - отобразить и изменить сжатие файлов в разделах NTFS
CONVERT - преобразовать дисковый том FAT в NTFS
DISKPART (disk partition) - отобразить и настроить свойства раздела диска
FORMAT - форматировать диск
FSUTIL (file system utility) - отобразить и настроить свойства файловой системы
LABEL - создать, изменить или удалить метку тома диска
RECOVER - восстановить данные с плохого или поврежденного диска
VOL (volume) - вывести метку и серийный номер тома для диска

Управление приложениями и процессами.

SCHTASKS (schedule tasks) - выполнить команду или запустить приложение по расписанию (планировщик задач)
SHUTDOWN - выключить или перезагрузить компьютер
TASKLIST - список выполняемых задач
TASKKILL - прекратить или остановить задачу (для остановки используется PID, который можно узнать при помощи TASKLIST)
RUNAS - запуск задачи от имени другого пользователя
SC (service configuration) - отображает или настраивает службы (фоновые процессы)

Информация о системе.

DATE - вывести или установить текущую дату
TIME - вывести и установить системное время
DRIVERQUERY - отобразить текущее состояние и свойства драйвера устройства
HOSTNAME - имя компьютера
SYSTEMINFO (system iformation) - информация о конфигурации компьютера
VER (version) - сведения о версии Windows

Просмотр и настройка сетевых параметров.

IPCONFIG - просмотр сведений о сетевых интерфейсах
PING - проверка сетевого соединения
TRACERT - определяет путь прохождения пакетов по сети
NSLOOKUP (name server lookup) - определяет ip-адрес по имени ресурса
ROUTE - работа с таблицами сетевых маршрутов
ARP - таблица преобразований ip-адресов в физические
NETSH (network shell)- программа управления сетевыми настройками
GETMAC - показывает MAC-адрес сетевого адаптера

Настройка и управление командной строкой.

CLS (clear screen) - очистить экран
CMD - запустить еще одну командную строку
COLOR - установить цвет текста и фона
PROMPT - изменить приглашение в командной строке
TITLE - назначить заголовок окна для текущего сеанса
EXIT - выход из командной строки

В UNIX-системах играет большую роль, чем во многих остальных. Одна из частей философии UNIX — многие вещи представляются в файловой системе как специальные файлы.

Понятия

Файловая система состоит из файлов и каталогов. В иерархической файловой системе (hierarchical filesystem) файлы и каталоги организуются в виде дерева.

Сложно дать хорошее определение файлу. Приведём определение из Википедии.

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

Каталог (directory) — структура для организации файловой системы, которая содержит ссылки на другие файлы или каталоги. Ранее часто использовался термин директория (транслитерация с англ.).

Структура

Корень иерархической файловой системы — это прямой слеш (/). Пути в ФС разделяются слешами. В общем случае все остальные символы могут использоваться в именах файлов, кроме символа с кодом 0.

Большинство ФС в UNIX-системах чувствительно к регистру, в отличие от Windows.

Каталог, находящийся внутри другого, называется подкаталогом (subdirectory). Каталог верхнего уровня называется корневым (root).

Работа в терминале

Приглашение

Командная оболочка встречает вас приглашением (command prompt).

Навигация по каталогам

  • Название расшифровывается как change directory.
  • Это команда оболочки (sh/bash/. ), а не отдельная программа или системный вызов.
  • Без аргументов — переход в домашний каталог.
  • cd - — возврат в предыдущий каталог.
  • print working directory
  • Выводит текущий каталог (абсолютный путь)
  • Команда ls — list. Печатает в стандартный вывод содержимое каталогов.
  • По умолчанию печатает содержимое текущего каталога, но можно указать произвольный каталог в качестве аргумента.
  • ls -1 — печать по одному названию в строке.
  • ls -a — выводить записи, начинающиеся с точки (по умолчанию эти файлы и каталоги скрыты).
  • ls -t — сортировка по времени изменения, новые файлы сначала.
  • ls -l — подробный режим.

Справка

Работая в консоли, часто приходится обращаться к справочной информации, чтобы узнать об использовании команд.

man (от англ. manual — руководство) — команда UNIX, предназначенная для форматирования и вывода справочных страниц. Поставляется почти со всеми UNIX-подобными дистрибутивами. Каждая страница справки является самостоятельным документом и пишется разработчиками соответствующего программного обеспечения.

Чтобы вывести справочное руководство по какой-либо команде (или программе, предусматривающей возможность запуска из терминала), можно в консоли ввести:

Например, чтобы посмотреть справку по команде ls, нужно ввести man ls.

Для навигации в справочной системе man можно использовать клавиши ↑ и ↓ для построчного перехода, PgUp и PgDn для постраничного перехода вверх и вниз соответственно.

При просмотре больших страниц удобно воспользоваться поиском, для чего следует нажать /, затем набрать строку поиска (и слеш, и строка поиска отобразятся в нижней части экрана) и нажать Enter. Обратным поиском (снизу вверх) можно воспользоваться, нажав кнопку ?. При этом подсветятся все совпадения с заданным регулярным выражением, и экран прокрутится до первого из них. Для перехода к следующему подсвеченному вхождению нужно нажать n (Next — следующий), либо оставить строку поиска пустой (/, затем Enter). Для показа предыдущего совпадения надо также использовать вопросительный знак или же нажимать N (заглавную).

Для получения краткой справки по командам и горячим клавишам справочной системы нужно нажать H (Help — помощь).

Для выхода из справочной системы используется клавиша Q (Quit — выход).

Для получения детальной инструкции по использованию команды используется конструкция

Справочные страницы поделены на 8 стандартных разделов и один дополнительный. Каждый из разделов соответствует той или иной тематике в рамках установленной операционной системы.

Раздел Краткое описание
1 Прикладные программы и команды оболочки
2 Системные вызовы ядра (функции языка C)
3 Библиотечные вызовы (функции различных библиотек, установленных в систему)
4 Специальные файлы (находящиеся обычно в каталоге /dev)
5 Форматы файлов и соглашения
6 Игры
7 Различные описания, соглашения и прочее
8 Команды администрирования системы, которые обычно запускаются от имени суперпользователя
9 Ядро операционной системы (нестандартный раздел)

Номер раздела в команде man указывается вторым аргументом, перед названием справочной страницы. Если номер раздела опущен, то поиск справочной страницы ведётся по всем разделам по порядку.

Альтернативой man от проекта GNU является команда info.

Стандартный ввод и стандартный вывод

Из курса программирования вам знакомы понятия трёх стандартных потоков:

  • поток ввода (stdin),
  • поток вывода (stdout),
  • поток ошибок (stderr).

Аргументы командной строки

Зачастую при запуске программы ей можно передать параметры, тем самым настроить режим работы.

Стандарт POSIX содержит соглашения об API утилит командной строки.

Краткие формы опций начинаются с одинарного минуса. Полные начинаются с двух минусов.

Кроме того, есть дополнительные соглашения.

  • Если команда ожидает аргумент — имя файла, а ей передали -, то это значит, что надо читать из stdin вместо файла.
  • -- говорит о том, что флаги закончились, например ls -- -l показывает содержимое директории с именем -l.

Комбинации клавиш

При работе в bash действуют полезные горячие клавиши.

  • Tab — автодополнение.
  • Стрелки вверх-вниз (также Ctrl+P и Ctrl+N) — история команд.
  • Home и End (также Ctrl+A и Ctrl+E) — переход в начало/конец строки.
  • Alt+B и Alt+F (также Ctrl и стрелки влево-вправо) — переход по словам назад/вперёд.
  • Ctrl+L — очистить экран.
  • Ctrl+R — поиск по истории.

Утилиты и встроенные команды

Когда мы пишем в терминале, например, команду ls -l, запускается программа под названием ls, ей передаётся аргумент -l. Эта программа выводит нужную информацию в stdout.

Чтобы узнать, где реально на диске лежит та или иная программа, можно использовать which:

Некоторые команды, например cd, не являются отдельными утилитами, а реализованы в самой командной оболочке. Для них which выдаст пустоту:

Тем не менее, некоторые команды существуют и как утилиты, и как встроенные функции. Примером является pwd. Использование встроенной функции позволяет обеспечить лучшую производительность и сэкономить ресурсы на запуск нового процесса. Чтобы понять, что именно скрывается за конкретной командой оболочки, можно использовать type:

Работа с ФС

mkdir

  • make directory
  • С ключом -p не выдаёт ошибок, если каталог существует, и создаёт при необходимости промежуточные каталоги.

touch

  • Предназначена для установки времени последнего изменения файла или доступа. Также используется для создания пустых файлов.
  • Если файл не существует, утилита создает пустой файл с указанным именем.
  • Если аргумент времени не задан, используется текущее время.
  • Предназначена для копирования файлов и каталогов.
  • Ключ -R, -r, --recursive — копировать директории рекурсивно (то есть все поддиректории и все файлы в поддиректориях).

Три режима работы (режим зависит от числа аргументов и типов).

  1. Когда программа имеет два аргумента — пути к файлам, программа копирует содержимое первого файла во второй файл, создавая при необходимости второй файл.
  2. Когда программа имеет один или несколько аргументов — путей к файлам, после них аргумент — путь к каталогу, то программа копирует каждый исходный файл в целевой каталог, создавая файлы, которые не существуют.
  3. Когда аргументы программы являются путями к двум каталогам, cp копирует исходный каталог в целевой каталог, создавая любые файлы или каталоги при необходимости. Для этого режима работы требуется дополнительный флаг -r.
  • move
  • Используется для перемещения или переименования.

Примеры использования rm

Эта программа на поверку оказалась хорошо замаскированным rm -rf / . При попытке запуска её из аккаунта root пользователь мог поплатиться всеми данными.

Летом 2011 года похожая ситуация с rm произошла в проекте Bumblebee, представляющем собой костыль для поддержки технологии NVidia Optimus в ноутбуках с двумя видеокартами.

Файл install.sh в исходниках данного проекта вместо строки

содержал безобидную строчку

Эта строка, как нетрудно заметить, удаляет директорию /usr. Лишний пробел вызвал потерю данных.

rmdir

  • remove directory
  • Удаляет пустой каталог. Если каталог не пустой, выдаёт ошибку.
  • Существование этой команды вызвано историческими причинами.
  • Более безопасно, чем rm -r, потому что случайно нельзя удалить файлы.

unlink

  • удаляет только файлы, не умеет удалять каталоги
  • Выводит дерево в человекочитаемом виде.
  • Во многих дистрибутивах не является стандартной программой, ставится отдельно.
  • Программа UNIX, предназначенная как для копирования, так и для конвертации файлов.
  • dataset definition (иногда в шутку расшифровывают как disk destroyer)
  • Утилита позволяет производить низкоуровневые операции на жёстких дисках. При малейшей ошибке (такой, как реверс параметров if и of) можно потерять часть данных на диске (или даже все данные).

Примеры использования

Файл, забитый случайными данными:

Загрузочный сектор с диска (MBR):

  • disk free
  • Показывает список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования.
  • Ключ -h, --human-readable отобразит размер в человекочитаемом формате, добавив названия единиц.
  • disk usage
  • Программа для оценки занимаемого файлового пространства.
  • По умолчанию показывает размер файлового пространства, занимаемого каждым файлом и каталогом в текущем каталоге.

dirname

  • Отрезает последнюю компоненту пути и слеш. Не проверяет, что файлы существуют.
  • /usr/bin/ -> /usr
  • /usr/bin/a.out -> /usr/bin
  • abacaba -> .

basename

  • Наоборот, оставляет только последнюю компоненту.
  • /usr/bin/sort -> sort

Файловые менеджеры

Если неудобно работать с командной строкой, то есть файловые менеджеры. Nautilus входит в стандартную поставку GNOME. Computer является там аналогом /.

Консольная программа mc — Midnight Commander — аналог Norton Commander и FAR. Двухпанельный файловый менеджер с псевдографическим интерфейсом.

Парадоксально, но факт: утилиты командной строки в Windows никогда не привлекали внимания ни пользователей, ни аднимистраторов, но в тоже время состав и возможности этих утилит обогащаются каждый год. В этой статье мы поговорим о командной строке в Windows 2003.

О том, как работать в командной строке

Если данную последовательность команд приходится выполнять часто, целесообразно создать командный файл - это обычный текстовый файл с расширением .cmd. Каждая команда записывается в отдельной строке, хотя это и не обязательно - можно использовать амперсанды. Иногда нужно проанализировать результат первой команды, а только потом, если результат успешен, выполнить вторую команду. Это можно реализовать с помощью двойного амперсанда:

Вторая команда будет выполнена, если код завершения первой команды равен 0 (успешное завершение). Не успел прочитать вывод программы? Тогда вывод можно передать программе more для постраничного вывода (листать вывод нужно пробелом):

Символ | используется для перенаправления стандартного вывода одной команды на стандартный ввод другой. Что будет делать с этим выводом другая программа, зависит только от нее. Для перенаправления вывода команды в файл используются символы > и >>:

Для очистки "экрана" командной строки удобно использовать команду cls. Команды бывают внутренними и внешними. Внутренние команды выполняет сам cmd.exe. Внешние команды - это EXE-файлы (то есть программы) на диске. Когда мы вводим команду, cmd определяет, какая это команда. Если внутренняя, то выполняет ее сам, если команда не является внутренней, тогда cmd производит поиск исполнимого файла в текущем каталоге и по пути поиска программ (переменная окружения PATH). Просмотреть путь переменную PATH можно так:

Какие имеются команды?

Команд много и все в этой статье мы не рассмотрим. Да и вообще подробно команды рассматривать не будем. А зачем? Вводишь имя команды, пробел, слеш и вопросительный знак (параметр /?). В ответ получишь описание команды и ее параметров. Нужно просто знать, что делает та или иная команда, а уж описание прочитать проблем не составит.

  1. команды для работы с файловой системой
  2. команды для управления операционной системой
  3. команды мониторинга
  4. сетевые команды
  5. команды для поддержки Active Directory
  6. команды для обслуживания жестких дисков
  7. другие команды

Команды для управления операционной системой

В Unix есть очень полезная программа shutdown, с ее помощью можно не только завершить работу системы (или перезагрузить ее), но и указать время завершения работы. Аналог этой команды есть и в Windows. С ее помощью можно просто завершить работу систему, выполнить перезагрузку, завершить работу активных пользователей, перейти в режим пониженного энергопотребления и завершить сеанс без отключения компьютера. Очень полезен параметр -t, позволяющий задать в секундах таймаут операции.

К командам этой группы также относится программа taskkill, которая используется для завершения работы одного или нескольких процессов. Задать процесс можно по имени образа (имени исполнимого файла - ключ /IM) или по идентификатору процесса (ключ /pid). Например:

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

Команды мониторинга

Команде taskkill, как было отмечено, нужно передать или имя образа или PID процесса. Узнать PID процесса можно с помощью команды tasklist. Также к данным командам относятся команды mem (вывод информации об использовании памяти), systeminfo (полная информация о системе) и tracerpt (отслеживает журнал событий и выводит отчет в формате CSV)

Сетевые команды

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

Особого внимания заслуживают команды net и netstat. С помощью первой команды можно произвести много различных операций. Введи команду net без параметров. В ответ получишь список команд:

Получить справку по конкретной команде можно так:

Теперь поговорим о команде netstat. Она выводит статистику использования сети и отображает информацию о текущих соединениях. Очень удобная команда. Представим, что на твоем компьютере закрыты все приложения, которые могут обращаться к сети, а обращение к сети все равно производится, о чем свидетельствуют индикаторы в system tray. Введи команду netstat -o и узнаешь, какая программа обращается к сети (параметр -o используется для вывода PID процесса).

Команды обслуживания жестких дисков

Для проверки дисков используются команды chkdsk и chkntfs. Первая используется для проверки FAT-разделов, а вторая - для проверки NTFS-разделов. Для дефрагментации диска используется команда defrag.

Команда recover используется для восстановления файлов с поврежденных разделов, а всем известная команда format используется для форматирования дисков. Вместо команды fdisk, которая использовалась в Windows 9x, в современных версиях Windows используется программа diskpart. Данная программа позволяет разбить диск на разделы, создать логические диски, удалить логические диски, выбрать активный раздел и т.д. Если команда fdisk работала в интерактивном режиме, то diskpart в основном ориентирована на использование сценариев. Сценарии - это текстовые файлы, в которых содержатся инструкции, которые должна выполнить diskpart. Вызвать diskpart можно так:

Вот пример сценария diskpart:

Обрати внимание, как производится работа с объектами в diskpart. Сначала нужно выбрать какой-то объект (с помощью команды select): сначала мы выбираем диск (select disk). Затем нужно произвести операции с объектом. Мы производим две операции (clean и create partition). Потом мы уже выбираем другой объект - раздел (select partition) и производим операции с ним (делаем раздел активным и форматируем его).

Можно указать размер создаваемого раздела, например:

В данном случае будет создан раздел размером в 5 Гб. К данному разделу можно отнести еще две команды - diskperf, которая управляет счетчиками производительности жесткого диска, и fsutil, которая управляет поведением файловой систем. Например, с помощью fsutil можно сбросить или установить флаг тома "грязный" (dirty), а также получить информацию о файловой системе. В общем, читай man, то есть fsutil /?

Команды для поддержки и диагностики Active Directory

В Windows 2003 для управления службой каталога используются так называемые DS-утилиты:

Синтаксис всех DS-команд похож, используй /? для получения справки. Для диагностики контроллера домена (DC) используется утилита DcDiag из комплекта Support Tools. Если запустить ее без параметров, то запустится 27 тестов DC (в Windows 2000 было 22 теста).

Другие команды

Команда where появилась в Windows 2003, в Windows 2000 и Windows 2002 (она же XP) ее нет.

Для выполнения какой-то команды в строго определенное время можно использовать планировщик at. Можно задать дату запуска команды, время, интервал (например, каждый день). Программа может работать в интерактивном режиме (параметр /interactive).

Если боишься редактировать файл boot.ini в блокноте, можешь использовать программу bootcfg, которая позволит тебе избежать ошибок при редактировании этого файла. Иногда полезно опросить драйверы устройств. Для этого используется команда driverquery.

Windows PowerShell

Там же можно скачать и полное руководство по PowerShell.

Оболочка PowerShell - это интерактивный командный интерпретатор. Как и cmd, в PowerShell можно создавать сценарии, позволяющие администраторам автоматизировать управление системными задачами, как на сервере, так и на других компьютерах сети. PowerShell, в отличие от cmd, который предоставляет доступ только к файловой системе, позволяет управлять всей операционной системой и ее приложениями, например, мы можем работать с реестром Windows как с обычной файловой системой. В этой статье мы рассмотрим далеко не все возможности PowerShell. Вот некоторые полезные команды, которые нужно знать, для начала работы в PowerShell:

Как и в cmd, поддерживается перенаправление ввода-вывода, например:

При запуске PowerShell автоматически запускаются следующие сценарии (если они найдены).

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

Можно работать с переменными, причем поддерживаются массивы:

Перед именем переменной нужно обязательно указывать знак доллара - так PowerShell поймет, что перед ним переменная, а не значение. Нумерация элементов массива начинается с единицы. Для доступа к элементу массива используются квадратные скобки. Для добавления нового элемента в массив используется оператор +:

Кроме простых массивов поддерживаются ассоциативные массивы:

Для добавления элемента в ассоциативный массив используется вот такая конструкция:

В сценариях можно использовать условные операторы if-elseif-else, switch, а также операторы циклов while, do-while, do-until, foreach. Мы рассмотрим только оператор if-elseif-else и циклы while и foreach. Конструкция if-elseif-else следующая:

Условие задается так:

переменная оператор_сравнения переменная_или_значение

Цикл while выглядит так:

$i = 0; while($i -lt 10)

Данный цикл выведет числа от 0 до 9.

Теперь рассмотрим синтаксис foreach:

Цикл foreach удобно использовать для перебора значений ассоциативного массива, например:

Сейчас рассмотрим работу с реестром. Перейти в нужный раздел можно с помощью всем знакомой команды cd:

Мы перешли в раздел HKEY_CURRENT_USER. Можно перейти в другой раздел, например, HKEY_LOCAL_MACHINE, задав его имя или сокращение (hklm). Вывести содержимое раздела можно с помощью команды dir. Чтобы просмотреть содержимое раздела используется команда get-property:

В данном случае мы выводим настройки Блокнота. Установить значение переменной в разделе можно с помощью команды set-property (следующая команда изменит шрифт Блокнота):

MSH> set-property . -property lfFaceName -value "Arial"

Дополнительные ссылки

Командная строка при установке Windows Vista

Командную строку можно вызвать даже при установке Windows Vista - для этого во время установки нужно нажать Shift + F10

Итак, перед Вами открыта консоль, а как известно, лучший способ изучить продукт – это пользоваться им. Для максимально эффективной реализации Ваших задач и задумок, особенно, если Вы находитесь в условиях отсутствия прямого выхода в Интернет, необходимо уметь как минимум три вещи:

  • Находить нужные команды;
  • Находить справку по их применению и уметь ей пользоваться;
  • Понимать, какие есть свойства и методы у того объекта, над которым Вы производите какие-либо действия.

У Вас в голове или на бумаге уже описан алгоритм реализации сформулированной задачи, но Вы не знаете с помощью каких команд это выполнить. В такой ситуации на помощь может прийти командлет Get-Command. Для примера возьмем такую ситуацию:

Вам необходимо перезапустить службу Диспетчера печати. Вы не знаете с помощью каких команд можно взаимодействовать со службами, но Вы точно знаете, что Ваш целевой объект это – служба (Service).

Таким образом, чтобы решить эту проблему и найти подходящую команду выполним следующий код:

Этот командлет в качестве параметра принимает имя или часть имени искомой команды (допускается использование подстановочных символов). И на выходе Вы получите список всех команд, в имени которых фигурирует наш объект – служба (Service). Get-Command можно выполнить и без указания каких-либо параметров, тогда Вы получите полный список всех возможных команд с учетом установленных на момент выполнения модулей powershell, что в нашем случае избыточно. Для фильтрации избыточной информации Вы можете использовать ключ -CommandType и указать тип желаемых объектов, например Cmdlet, что фактически будет означать “Покажи мне только команды, у которых параметр CommandType имеет значение Cmdlet”.

Таким образом мы видим, что для выполнения нашей задачи наверняка подойдет командлет Restart-Service. При этом, если выполнить Get-Command еще и с ключом -Syntax , Вы сразу сможете увидеть общий синтаксис каждой команды, попавшей в вывод.

Получение справки по командам

В powershell так же существует довольно мощная справочная система. Так как с ростом версии powershell командлеты могут изменяться, то и справочная система время от времени обновляется. Чтобы ей воспользоваться необходимо выполнить команду Get-Help, либо один из ее псевдонимов MAN или HELP. В отличие от Get-Help псевдонимы выводят справку постранично, Get-Help выводит всю справку целиком.

Чтобы узнать, как работает команда перезапуска службы напишем команду Get-Help, укажем командлет, по которому мы хотим получить справку – Restart-Service. Погнали:

Стандартный вывод нам предоставляет краткое и полное описание команды, ее синтаксис, ссылки на документацию (в случае ее наличия) и информацию о некоторых полезных ключах. Например выполнение Get-Help с ключом -Online отобразит актуальную на текущий момент справку прямо из Интернета, если к нему есть доступ. Ключ -Examples продемонстрирует ряд конкретных примеров использования командлета, по которому запрошена справка.

Отдельно отмечу такой довольно полезный ключ как -ShowWindow . Выполнение Get-Help с этим ключом вызывает графическое окно с полным справочным описанием команды, с возможностью поиска по нему. Но его использование возможно только в операционной системе с графическим интерфейсом (GUI).

Таким образом из справки понятно, что для перезапуска службы “Диспетчер печати” достаточно будет выполнить командлет Restart-Service и в его параметре -Name указать имя службы:

Get-Member – просмотр свойств объекта

Возможно все это время Вас терзает вопрос – в чем же величие командлета Get-Member? Так как powershell – это язык объектно-ориентированный и мы постоянно оперируем объектами, зачастую возникает необходимость в понимании того, какими свойствами и методами обладает объект, каким будет тип данных у его свойств или в результате выполнения его методов. Различные командлеты могут принимать на вход значения конкретно заданного типа данных. И может возникнуть ситуация, когда с виду рабочий скрипт не работает, потому что на вход следующему командлету по конвейеру передается объект не того типа, который он ожидает получить.

Get-Member – это тот инструмент, который позволяет Вам заглянуть внутрь объекта и можно сказать, увидеть его схему, если проводить параллель со схемой Active Directory. Для примера давайте посмотрим какие свойства и методы есть у объекта класса System.DateTime (дата\время). Для чего выполним:

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

Как Вы можете видеть, у объекта класса System.DateTime есть методы, позволяющие добавлять к дате такие параметры как – дни, часы, минуты. Это может быть полезным, когда есть необходимость, например, просматривать логи за последнее какое-то количество дней. Для примера чтобы получить дату, на 5 дней предшествующую текущей, можно выполнить метод (Get-Date).AddDays(-5) и передать ему на вход отрицательное количество дней.

И есть свойства, такие как DayOfWeek, DayOfYear. Обратившись к ним так же через точку (Get-Date).DayOfWeek, Вы можете узнать какой сегодня день недели или какой сегодня день по счету в году. В первом случае тип данных будет – System.DateTimeKind, а во втором – Int.

Так же в параметре TypeName (в самом верху) Вы можете видеть тип самого объекта. В нашем случае это – System.DateTime.

Get-Member – это незаменимый помощник, особенно, если Вы используете командлет впервые или у Вас возникла какая-либо новая потребность, с которой Вы ранее не сталкивались.

Далее мы разберем тему псевдонимов (алиасов) команд, модулей и как пользоваться обозревателем команд в консоли Powershell ISE.

Немного обо всем и все о немногом, или практический опыт системного администратора.

Лекция №3 - Справка Linux - man

Calendar

25 сентября 2009, 12:16

На прошлой лекции мы рассмотрели загрузку операционной системы Linux. Мы уже знаем основные этапы, которые проходит компьютер вместе с операционной системой от момента нажатия на кнопку включения до момента регистрации в системе. Напомню, также, что работать мы будем в текстовом режиме, поэтому переключаемся на текстовую виртуальную консоль и регистрируемся в системе. После регистрации мы попадаем в командный интерпретатор или оболочку - bash. У оболочки очень много возможностей, пока достаточно понимать, что это среда которая принимает, обрабатывает и выдает результаты команд, которые мы посылаем операционной системе. Выглядит оболочка так как показано на рисунке 1.

Оболочка bash

Набираем команду date и нажимаем клавишу Enter. Вы увидите на экране текущие время и дату. Если ввести команду hostname, то вы получите имя вашего компьютера. Команда pwd покажет в какой директории мы находимся в текущий момент. По команде exit мы выйдем из оболочки и нам нужно будет регистрироваться снова (вводить имя пользователя и пароль).

Также хочу обратить внимание на клавишу Tab, которая позволяет дополнять команды, имена файлов и параметров. Например, наберите такое начало команды shut и нажмите на клавишу Tab. Видите shut автоматически дополнилось до shutdown? Такое дополнение работает если есть только один вариант продолжения набранного куска команды. Если набрать, например, if и нажать Tab, то ничего не отобразится так как существует несколько команд начинающихся с if. Чтобы отобразить эти варианты нужно еще раз нажать на Tab. Если вариантов будет много, будет запрос хотим ли мы смотреть все варианты. Не вводя никаких команд, нажмите два раза клавишу Tab и система спросит хотим ли мы посмотреть все команды? Таким образом можно узнать общее количество команд в системе (см. рисунок 2).

Клавиша Tab

Как видно на рисунке система знает 2448 команд! И что их все нужно знать?! Конечно нет. Достаточно знать основные команды (около сотни) и знать где и как найти информацию об остальных. Прежде чем пойдем дальше давайте рассмотрим несколько команд для отображения информации. Вывести содержимое файла на экран позволяет команда cat.

igor@adm-ubuntu:~$ cat /etc/event.d/tty1

Результат:

start on stopped rc2
start on stopped rc3
start on stopped rc4
start on stopped rc5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /sbin/getty 38400 tty1

После выполнения этой команды на экране будет представлено содержимое файла. Удобна для небольших текстовых файлов, содержимое которых помещается на экран. Существует также команда tac (cat - наоборот), которая позволяет вывести содержимое файла наоборот:

igor@adm-ubuntu:~$ tac /etc/event.d/tty1
exec /sbin/getty 38400 tty1
respawn

stop on runlevel 6
stop on runlevel 1
stop on runlevel 0

start on stopped rc5
start on stopped rc4
start on stopped rc3
start on stopped rc2

Команд cat неудобна при выводе больших файлов, которые не помещаются на одном экране. Поэтому существует также команда more. Эта команда выдает текст порциями, при нажатии на клавишу Enter - построчно, а при нажатии на клавишу пробел - постранично. Но на сегодняшний день есть более продвинутая команда - less.

less - это уже такой себе мини-браузер (просмотрщик, въювер) для отображения файлов с возможностью поиска и другими полезными функциями. Откройте любой текстовый файл, например /etc/bash.bashrc:

less /etc/bash.bashrc

Тест откроется во въювере less. Сразу же скажу: чтобы выйти из less нужно нажать на клавишу q . В less уже можно навигационными клавишами перемещаться по тексту (стрелки вверх-вниз, вправо-влево, PgUp, PgDown), осуществлять поиск текста, выполнять переходы по найденным словам и много другое. Чтобы выполнить поиск нужно находясь во въювере нажать на клавишу / или ? затем без пробела искомое слово и нажать клавишу Enter. /искомое слово - поиск будет вестись вниз от текущего экрана, а ?искомое слово - вверх от текущего экрана. Если текст большой и искомых слов много или они разбросаны по всему тексу, то клавишами n и N можно быстро переходить по найденным словам. n - перемещение вверх по тексту, N - перемещение вниз. Если находясь во въювере нажать на клавишу h то откроется справка программы. Справка откроется также с помощью въювера less, поэтому, чтобы закрыть справку нужно нажать клавишу q .

Что ж теперь перейдем к команде man. Команда man позволяет отобразить справку обо всех существующих в системе командах. Отображает информацию с помощью въевера less, поэтому мы и остановилсь на нем подробнее. Наберите команду man man - получить справку о справке. А теперь нажмите клавишу h и вы увидите справку о команде less, потому, что с ее помощью выведен текст о команде man. Нажмите q, чтобы выйти из справки по less.

Справочная информация сгруппирована по разделам. Всего разделов 9. О них вы можете прочесть в справке man man. В качестве разъяснения можно привести пример с командой и именем файла passwd. Если набрать команду man passwd, то будет отображена справка о команде passwd. Наберите в командной строке man passwd. В самом верху справки вы увидите надпись passwd(1). Цифра в скобках указывает, что данная информация относится к первому разделу (пользовательские команды). Пролистайте теперь в самый конец файла (раздел see also - смотрите также) и вы увидите там надпись passwd(5), которая говорит о том, что существует еще информация о passwd в пятом разделе справки. Выйдем из текущей справки (q) и наберем команду man 5 passwd (цифра 5 указывает на то, что справка должна быть отображена из пятого раздела. Пятый раздел описывает форматы файлов и в этой справке содержится информация не о команде passwd, которая позволяет изменить пароль пользователя, а о файле passwd в котором содержится информация о пользователях. Если искомое понятие содержится в нескольких разделах, то по умолчанию будет выводится информация из раздела с меньшим номером.

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

NAME (название) - заголовок справки с кратким описанием.

SYNIPSIS (синтаксис) - синтаксис команд. Каждая команда может иметь опции (или ключи) и параметры. Опции изменяют поведение команды, а параметры это то с чем команда будет работать. Например, команда ls -l /home/. -l - это ключ команды, который говорит ей отобразить дополнительную информацию о директориях, а /home/ - это передаваемый команде параметр, который показывает команде с какой директорией ей нужно выполнить операцию. Синтаксис показывает какие у команды есть ключи, как их можно компоновать друг с другом, какие параметры можно передавать команде. Нужно уметь читать синтаксис команд в справке man.

[-с|-w|-tz] - такая запись говорит о том, что ключи перечисленные через | несовместимы и не могут использоваться вместе. То есть в команде нельзя указать ключ -с и ключ -w или ключ -t. Должен быть указан какой-то один из них. Квадратные скобки в которых указаны ключи говорят о том, что ключи не есть обязательными. То есть эти ключи могут вообще ни использоваться в команде.

[-adhu7V] - такая запись говорит о том, что ключи также не обязательные (т.к. в квадратных скобках) и, что ключи совместимы, то есть могут использоваться в любой комбинации. Например, -ad, -a, -ahu, -h7V и т.д.

При указании ключей принято соглашение, что после одного знака “-” идут однобуквенные ключи, а после двух знаков “–” идет один ключ состоящий из одного слова. Очень часто однобуквенные ключи дублируются ключами-словами.Например, -p и –parents, -v и –verbose, и т.д. Между ключами-словами обязательно должны быть пробелы, между однобуквенными ключами пробелов может и не быть. Упрощенно общий вид команды можно записать так:

Команда [-однобуквенная опция[ параметр]] [--опция-слово[ параметр]] [параметр]

DESCRIPTION (описание) - в этом разделе дано описание команды.

EXAMPLES (примеры) - полезный раздел в котором представлены практические примеры команд с наиболее часто употребляемыми ключами и параметрами.

OPTIONS (опции, ключи) - в этом разделе кратко описывается назначение каждого ключа команды.

FILES (файлы) - здесь указано расположение файлов так или иначе связанных с командой.

SEE ALSO (смотрите также) - в этом разделе указаны разделы справки по командам, файлам, которые связаны с изучаемой и рекомендуются также к просмотру.

Существуют и другие разделы предлагаю с ними ознакомится самостоятельно.

Как еще можно получить справку в Linux? Существует также команда info, которая похожа на man, но появилась гораздо позже и имеет некоторые отличия в представлении информации. На команде info останавливаться не буду просто знайте, что есть и такой способ получения информации.

И man и info хороши когда известно о какой команде нужно получить справку. Но вы как новички в Linux пока не знаете какие команды есть вообще. Поэтому у команды man есть ключ -k, который позволяет искать команды по ключевым словам. Например вы хотите узнать найти команды для работы с сетью. Сеть по английси будет network. Выполните в командной строке команду man -k network. Вы увидите список команд в справке которых употребляется слово network. Список довольно большой и чтобы его немного уменьшить можно воспользоваться следующим приемом. Например, чтобы из отображенных команд выбрать только те которые отвечают за конфигурацию можно команду выполнить так:

man -k network | grep configure

ifconfig (8) - configure a network interface
iwconfig (8) - configure a wireless network interface
iwpriv (8) - configure optionals (private) parameters of a wireless network interface

Таким образо мы нашли три команды, которые позволяют настраивать сетевые интерфейсы. О команде grep мы еще будем говорить, пока скажу, что в данном примере результаты команды man -k network будут переданы команде grep, которая отобразить только те результаты в которых встречается слово configure. Комбинируя таким образом два ключевых слова, можно в большинстве случаев найти нужную информацию. Например, man -k editor | grep text выдаст информацию о текстовых редакторах которые есть в системе. И т.д. Вместо команды man -k можно использовать команду apropos - они аналогичны.

Полезной может оказаться и команда man -f или ее аналог whatis. Ее целесообразно применять когда вы помните имя команды, но подзабыли, что именно она делает. Вот несколько примеров:

igor@adm-ubuntu:~$ man -f pwd
pwd (1) - print name of current/working directory
igor@adm-ubuntu:~$ man -f ls
ls (1) - list directory contents
igor@adm-ubuntu:~$ man -f grep
grep (1) - print lines matching a pattern
igor@adm-ubuntu:~$ whatis mkdir
mkdir (1) - make directories
igor@adm-ubuntu:~$ whatis rm
rm (1) - remove files or directories

И последняя команда которую мы рассмотрим - это команда whereis. Эта команда позволяет показать где расположен исполняемый файл той или иной команды, а также месторасположение файла справки man указанной команды. Пример:

igor@adm-ubuntu:~$ whereis rm
rm: /bin/rm /usr/share/man/man1/rm.1.gz

Здесь /bin/rm/ это исполняемый файл, а /usr/share/man1/rm.1.gz - это файл справки о команде rm.

Попробуйте самостоятельно определить для чего нужны команды ls, cd, mkdir, cp, mv, rm, rmdir. Попробуйте также найти команду которая отображает информацию о системе. И определить с каким ключем нужно выполнить эту команду, чтобы отобразить только версию ядра.

Читайте также: