Разное

Команды для консоли windows: Командные файлы Windows

Содержание

Полезные команды в консоли Windows — Блог HTML Academy

Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на Github или отредактировать документ в vim. Всё это происходит так часто, что все основные действия с файлами становится быстрее и привычнее выполнять в консоли. Рассказываем и показываем основные команды, которые помогут ускорить работу в терминале под ОС Windows.

Для начала нужно установить терминал или запустить командную строку, встроенную в Windows — для этого нажмите Win+R и введите cmd. Терминал часто встречается и прямо в редакторах кода, например, в Visual Studio Code.

Чтобы ввести команду в консоль, нужно напечатать её и нажать клавишу Enter.

Содержимое текущей папки — dir

Выводит список файлов и папок в текущей папке.

C:\content-server>dir
 Том в устройстве C имеет метку SYSTEM
 Серийный номер тома: 2C89-ED9D

 Содержимое папки C:\content-server

06.10.2020  00:41    <DIR>          .
06.10.2020  00:37    <DIR>          .circleci
16.07.2020  16:04               268 .editorconfig
16.07.2020  16:04                10 .eslintignore
16.07.2020  16:04               482 .eslintrc
06.10.2020  00:37    <DIR>          .github
16.07.2020  16:04                77 .gitignore
06.10.2020  00:41    <DIR>          assets
06.10.2020  00:41    <DIR>          gulp
16.07.2020  16:10               379 gulpfile.js
16.07.2020  16:10           296 320 package-lock.json
16.07.2020  16:10               751 package.json
16.07.2020  16:04               509 README.md

Открыть файл

Чтобы открыть файл в текущей папке, введите его полное имя с расширением. Например, blog.txt или setup.exe.

Перейти в другую папку — cd

Команда cd без аргументов выводит название текущей папки.

Перейти в папку внутри текущего каталога

C:\content-server>cd assets
C:\content-server\assets>

Перейти на одну папку вверх

C:\content-server\assets>cd ..
C:\content-server>

Перейти в папку на другом диске

c:\content-server>cd /d d:/ 
d:\>

Чтобы просто изменить диск, введите c: или d:

Создать папку — mkdir или md

Создаём пустую папку code внутри папки html:

d:\html>mkdir code
d:\html>dir

 Содержимое папки d:\html

03.11.2020  19:23    <DIR>           .
03.11.2020  19:23    <DIR>           ..
03.11.2020  19:25    <DIR>           code
               0 файлов              0 байт
               3 папок  253 389 438 976 байт свободно

Создаём несколько пустых вложенных папок — для этого записываем их через косую черту.

d:\html>mkdir css\js
d:\html>dir Том в устройстве D имеет метку DATA Серийный номер тома: 0000-0000 Содержимое папки d:\html 03.11.2020 19:23 <DIR> . 03.11.2020 19:23 <DIR> .. 03.11.2020 19:25 <DIR> code 03.11.2020 19:29 <DIR> css

Создаётся папка css, внутри которой находится папка js. Чтобы проверить это, используем команду tree. Она показывает дерево папок.

Удалить папку — rmdir или rd

Чтобы удалить конкретную папку в текущей, введите команду rmdir.

d:\html\css>rmdir js

При этом удалить можно только пустую папку. Если попытаться удалить папку, в которой что-то есть, увидим ошибку.

d:\html\css>d:\html>rmdir css
Папка не пуста.

Чтобы удалить дерево папок, используйте ключ /s. Тогда командная строка запросит подтверждение перед тем, как удалить всё.

d:\html>rmdir css /s
css, вы уверены [Y(да)/N(нет)]? y

Показать дерево папок — tree

В любом момент мы можем увидеть структуру папок. Для этого используется команда tree.

d:\html>tree
Структура папок тома DATA
Серийный номер тома: 0000-0000
D:.
├───code
└───css
    └───js

Если вы хотите посмотреть содержимое всего диска, введите tree в корне нужного диска. Получится красивая анимация, а если файлов много, то ещё и немного медитативная.

Удаление файла — del или erase

Команда для удаления одного или нескольких файлов.

d:\html>del blog.txt

Переименование файла — ren или rename

Последовательно вводим ren, старое и новое имя файла.

d:\html>dir
 Содержимое папки d:\html

03.11.2020  19:23    <DIR>            .
03.11.2020  19:23    <DIR>            ..
03.11.2020  19:59                 0 blag.txt

d:\html>ren blag.txt blog.txt

d:\html>dir
 Содержимое папки d:\html

03.11.2020  19:23    <DIR>            .
03.11.2020  19:23    <DIR>            ..
03.11.2020  19:59                 0 blog.txt

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

Очистить консоль — cls

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

d:\html>systeminfo

Имя узла:                         DESKTOP-6MHURG5
Название ОС:                      Майкрософт Windows 10 Pro
Версия ОС:                        10.0.20246 Н/Д построение 20246
Изготовитель ОС:                  Microsoft Corporation
Параметры ОС:                     Изолированная рабочая станция
Сборка ОС:                        Multiprocessor Free

Информация о сетевых настройках — ipconfig

d:\html>ipconfig
Настройка протокола IP для Windows
Адаптер Ethernet Ethernet 2:

   Состояние среды. . . . . . . . : Среда передачи недоступна.
   DNS-суффикс подключения . . . . . :

Список запущенных процессов — tasklist

c:\>tasklist

Имя образа                     PID Имя сессии          № сеанса       Память
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         8 КБ
System                           4 Services                   0     2 688 КБ
Secure System                   72 Services                   0    23 332 КБ
…

Справка по командам — help

Команда help без аргументов выводит список всех возможных команд. help вместе с именем команды выведет справку по этой команде.

d:\html>help tree
Графическое представление структуры папок или пути.

TREE [диск:][путь] [/F] [/A]

   /F   Вывод имен файлов в каждой папке.
   /A   Использовать символы ASCII вместо символов национальных алфавитов.

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

Консоль — важный инструмент веб-разработчика

Научитесь пользоваться всеми инструментами в HTML Academy, чтобы работать с кодом в большой компании.

Записаться на консультацию

Список основных команд в консоли Windows: описание возможностей терминала CMD

На операционных системах семейства Windows есть специальные средства для активации той или иной функции, службы, процесса. С помощью таких средств также можно быстро открыть нужное приложение, директорию. В данной статье речь пойдёт о командной строке.

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

Это встроенное в операционку средство, где пользователь вводит определённые команды, чтобы повлиять на функционирование ОС в целом.

На Windows XP командная строка также присутствует (Windows CMD). На виндовс десять её заменяет ПО PowerShell. Используя данную утилиту, можно в кратчайшие сроки запустить другую системную утилиту, деактивировать процесс, службу, открыть программу, а также решить множество проблем, связанных с работой Windows.

Интерфейс командной строки на Windows 10

Основные возможности команды виндовс

Опытные пользователи выделяют несколько ключевых особенностей этого встроенного ПО:

  • возможность ознакомиться со списком команд и их назначением. Для этого пользователю потребуется ввести в CMD команду «help» и нажать «Enter» с клавиатуры. Появится перечень основных команд с подробным описанием;
  • возможность проверки системного диска на целостность файлов и автоматическое устранение найденных ошибок;
  • полноценное управление работой стационарного компьютера или ноутбука. Через «Командную строку» посредством ввода определённых команд можно выключить ПК, перезагрузить, поставить на сон и т. д.;
  • изменение темы рабочего стола, цветов, иконок. Также можно поменять внешний вид курсора мыши;
  • форматирование системного диска;
  • копирование объектов на рабочем столе. Пользователь ПК может копировать папки, документы, картинки и прочие файлы.

Обратите внимание! Командная строка, запущенная от имени администратора, позволяет изменять настройки в системном реестре, удалять файлы, которые невозможно деинсталлировать стандартным образом.

Окно «Выполнить» на операционных системах виндовс

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

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

Через меню «Пуск»

Данный способ предполагает соблюдение следующего алгоритма:

  1. Открыть «Пуск».
  2. Вбить в поисковую строку название классического приложения.
  3. Щёлкнуть ЛКМ по отобразившемуся значку.
  4. Также можно перейти в раздел «Стандартные», в котором надо будет тапнуть по строке «Командная строка» для запуска ПО.

Через окно «Выполнить»

Один из самых простых методов открытия системных средств на операционках виндовс. Осуществляется следующим образом:

  1. Одновременно зажать на клавиатуре ПК комбинацию горячих клавиш «Win + R», чтобы вызвать окошко «Выполнить».
  2. В строчке «Открыть» прописать команду «cmd» и нажать на «Enter». Запустится командная строка.

Создание ярлыка на рабочем столе

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

  1. Запустить меню «Пуск».
  2. Перейти в раздел «Все программы».
  3. В представленном списке отыскать параметр «Стандартные» и кликнуть по нему ЛКМ.
  4. Удерживать ЛКМ по строке «Командная строка» и перетащить её на свободное место рабочего стола, двигая манипулятор.
  5. Запустить средство, кликнув по его ярлыку два раза ЛКМ.

Важно! При необходимости созданную иконку можно будет удалить, переместив её в корзину.

Создание ярлыка CMD на рабочем столе Windows

Основные команды консоли Windows

Выделяют несколько команд, которые можно вбивать в системное средство CMD для управления работой компьютера. Список команд виндовс 10:

  • «bcdboot» создаёт дополнительный системный раздел на диске;
  • «charmap» выводит на экран таблицу стандартных символов операционной системы, которые можно использовать при работе с текстами;
  • «control» запускает панель управления операционки;
  • «del». Данная команда удаляет один или несколько выбранных пользователем файлов;
  • «dpiscaling» запускает окно параметров дисплея. Здесь пользователь сможет настроить яркость, гамму и контрастность изображения на собственное усмотрение;
  • «gpedit.msc Windows» открывает окно локальной групповой политики операционной системы;
  • «net» вызывает окошко управления сетевыми ресурсами системы для индивидуальной настройки;
  • «sfc». Такие команды CMD Windows проверяют системные файлы на целостность и автоматически устраняет повреждённые объекты;
  • «taskmgr» запускает диспетчер задач Windows;
  • «verifier» проверяет наличие необходимых драйверов. Если в ходе проверки были найдены устаревшие, то команда выведет список проблемных устройств на дисплей.

К сведению! В Глобальной сети можно найти огромный спектр команд для командной строки. Их нужно будет вводить только на английском языке.

Ввод «sfc» в командной строке Windows

Горячие клавиши для управления командной строкой

Данным средством удобнее управлять с помощью комбинаций кнопок, отдельных клавиш на компьютерной клавиатуре. Есть несколько вариантов:

  • «Ctrl + C» копирует выделенный текст;
  • «Ctrl + V» вставляет скопированные ранее символы в нужную строку;
  • «Ctrl + стрелка вправо или влево». Такое сочетание позволяет перемещать мигающий курсор в начало следующего слова или в конец предыдущего;
  • «Ctrl + A» выделяет все набранные ранее символы;
  • кнопка «Home». Нажав данную клавишу, можно передвинуть курсор в начало или конец строчки, где он стоит;
  • «F3» ещё раз вставляет предыдущую команду в нужное место, при этом пользователю не придётся копировать символы;
  • «Alt + F7» очищает всю историю вводимых ранее команд;
  • «Alt + Enter» изменяет текущий размер окна средства. Может развернуть утилиту на весь экран либо свернуть её;
  • «Shift + End» выделяет строку от места расположения курсора до конца;
  • «Alt + F4». Выполнив такую комбинацию клавиш на клавиатуре ПК, пользователь сможет закрыть средство ввода команд без сохранения.

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

Внешний вид окна локальной групповой политики на Windows 10

Как редактировать текст в окне командной строки Windows

Введённые в окно утилиты символы нельзя будет удалить после нажатия на кнопку «Enter». Однако неправильно написанную команду можно изменить в процессе её написания. Чтобы стереть символ, нужно тапнуть по клавише «Backspace».

Обратите внимание! Если пользователь неправильно ввёл команды Windows, то ему не обязательно закрывать командную строку, чтобы повторить процедуру заново. Достаточно прописать команду ещё раз в следующей строке с мигающим курсором.

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

Консоль в Windows — никому не нужна? / Хабр

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

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

Совсем недавно где-то на Хабре промелькнуло высказывание из серии «Не думал, что консоль в Виндах что-то может. Хотелось бы узнать об этом побольше».

Вот так и возникло желание написать небольшую статью про основные возможности консоли.


Про самые стандартные команды консоли можно узнать тривиальным способом:

заходим в cmd и пишем:

help

В сообщении я не буду подробно рассматривать команды типа copy (т.е. совсем тривиальные) так как о них можно прочитать введя команду типа

copy /?

1. Ввод-вывод

Рассмотреть же я попытаюсь команды, которые в основном хэлпе не написаны или описаны недостаточно подробно.

Для начала хотелось бы написать про операторы перенаправления ввода-вывода.

Таковыми операторами являются >, >>, <.

Они нам могут пригодиться как минимум в трех ситуациях:

  • Просмотр логов бат-файла
  • Чтение длинных хелпов по консольным утилитам
  • Подхватывание каких-либо переменных из лежащего рядом файла

При желании примеров можно придумать сколько угодно.

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

команда > имя_файла

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

команда >> имя_файла

С помощью символа < можно прочитать входные данные для заданной команды не с клавиатуры, а из определенного (заранее подготовленного) файла:

команда < имя_файла

Приведем несколько примеров перенаправления ввода/вывода.

1. Вывод встроенной справки для команды COPY в файл copy.txt:

COPY /? > copy.txt

2. Добавление текста справки для команды XCOPY в файл copy.txt:

XCOPY /? >> copy.txt

3. Ввод новой даты из файла date.txt (DATE — это команда для просмотра и изменения системной даты):

DATE < date.txt

2. FOR… DO

Второй командой, которую бы хотелось рассмотреть является FOR ... DO

Эта команда, так же как и многие другие достаточно подробно описана на сайте WindowsFAQ.

Я же хочу остановиться на двух наиболее важных пунктах

2.1 Переменные
  1. %~I

    Расширение %I, которое удаляет окружающие кавычки («»).
  2. %~fI

    Расширение %I до полного имени пути.
  3. %~dI

    Замена %I именем диска.
  4. %~pI

    Замена %I на путь.
  5. %~nI

    Замена %I одним именем файла.
  6. %~xI

    Замена %I расширением имени файла.
  7. %~sI

    Замена путем, содержащим только короткие имена.
  8. %~aI

    Замена %I атрибутами файла.
  9. %~tI

    Замена %I временем модификации файла.
  10. %~zI

    Замена %I размером файла.
  11. %~$PATH:I

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

Очевидно, что с помощью такого широкого набора переменных мы можем практически полностью отвязаться от индивидуальных особенностей конкретного экземпляра операционной системы и => избежать проблем например из-за того, что система встала на диск E:, а не на C:.

2.2 Работа с файлами

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

for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k

Данная команда производит разбор каждой строки в файле Myfile.txt, игнорируя строки, начинающиеся с точки с запятой, и передает второй и третий элементы из каждой строки в тело цикла команды FOR. Элементы разделяются запятыми и/или пробелами. Тело инструкции FOR использует %i для получения второго элемента, %j для получения третьего элемента и %k для получения оставшихся элементов в строке. Если имена файлов содержат пробелы, их следует заключать в кавычки (например, «ИмяФайла»). Для использования кавычек необходима команда usebackq. В противном случае кавычки рассматриваются как определение символьной строки для разбора.

Переменная %i объявлена явно в инструкции FOR, а %j и %k объявлены неявно с помощью tokens=. С помощью tokens= можно указать до 26 элементов, если это не вызовет попытки объявить переменную с именем, большим буквы «z» или «Z».

Для разбора вывода команды с помощью помещения параметра МножествоИменФайлов в скобки можно использовать следующую команду:
for /F "usebackq delims==" %i IN (`set`) DO @echo %i

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

Пофантазируем?..

Итак, что нам дают всего эти две команды?

Ну вот возьмем для примера утилиту, которая лежит на сайте Microsoft и называется psexec. Она позволяет нам, зная логин и пароль машины, подключиться к ней и выполнить произвольные действия в консольном режиме

Допустим, что у нас есть домен Windows и пароль доменного администратора.

Нам нужно подключиться ко всем машинам и удалить все файлы с маской *.mp3 с диска C:.

Для начала — как получить список всех компьютеров сети.

Я это делаю так:

FOR /F "skip=3 delims=\ " %%A IN ('NET VIEW') DO ECHO %%A>>c:\comps.txt

Имеем список всех компов в сети в столбик — как раз в том формате, который принимает psexec.

Правда, будут проблемы с русскими названиями компов, но это ведь не актуальная проблема, да?

Теперь про PsExec. Скачать его можно тут.

Синтаксис описан там же.

Нас интересует вот какая команда
c:\psexec.exe @c:\comps.txt -u username -p password -c MP3DELETE.bat

Содержимое .bat — файла:
cd /d c:\

for /r %%p in (*.mp3) do del %%p

Само собой, задача чисто абстрактная. Мне просто хотелось показать, что консоль в Windows на самом деле весьма могуча и позволяет красиво и удобно решать многие задачи.

А уж как здорово одним нажатием на bat-ник устанавливать пользователям софт в unattended-режиме…

Спасибо за внимание! Жду критики и предложений…

UPD.1 Спасибо большое maxshopen за инвайт и первую карму!

Благодаря ему и всем плюсующим с радостью перенес свою первую статью в свой первый блог — Windows.

UPD.2 Спасибо, Hint

copy con file.txt

Перенаправляет вывод с клавиатуры в файл (CTRL+Z — завершение ввода).
type file.txt >prn

Печает на принтере file.txt

UPD.3 Дамы и Господа!

Осознал, что можно на эту тему еще писать и писать.

У кого-нибудь есть какие-нибудь конкретные пожелания?

Или мне самому тему придумать?

Если пожелания есть, то пишите в кАментах.

Тяжкое наследие прошлого. Проблемы командной строки Windows / Хабр

Предисловие от автора, Рича Тёрнера из Microsoft. Это статья о командной строке: от её появления и эволюции до планов капитального ремонта Windows Console и командной строки в будущих версиях Windows. Будь вы опытным профессионалом или новичком в IT, надеемся, что вы найдёте статью интересной.

Давным-давно в далёкой-далёкой серверной…

С первых дней развития информатики людям нужен был эффективный способ передавать компьютеру команды и данные и видеть результат выполнения этих команд/вычислений.

Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.


Вводимые оператором символы локально буферизуются и отправляются с телетайпа на соседний компьютер или мейнфрейм в виде серии сигналов по электрическому кабелю (например, RS-232) со скоростью 10 символов в секунду (110 бод, бит в секунду, bps):

Телетайп Model 33 ASR

Примечание: Дэвид Гессвейн ведёт отличный сайт по PDP-8, где можно найти больше информации об ASR33 (и соответствующей технологии PDP-8), в том числе фотографии, видео и др.

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

Затем технология улучшилась, скорость передачи выросла до 19200 bps, а шумные и дорогие принтеры заменили ЭЛТ-дисплеями (широко распространённый тип дисплеев в 80-е и 90-е годы), как на популярном терминале DEC VT100:

Терминал DEC VT100

Хотя технология улучшилась, но эта модель — терминал отправляет символы программе на компьютере, а он выдаёт текст для пользователя — осталась и сегодня как фундаментальная модель взаимодействия всех командных строк и консолей на всех платформах!

Архитектура терминала и командной строки

Модель по-своему элегантна. Одна из причин — в сохранении простоты и цельности каждого компонента: клавиатура выдаёт символы которые буферизуются как электрические сигналы. Устройство вывода просто выдаёт на дисплей (бумагу/экран) символы, полученные с компьютера.

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

Кодировка текста

Важно помнить, что терминалы и компьютеры обмениваются данными через потоки символов. При нажатии клавиши на клавиатуре терминала на подключенный компьютер отправляется значение, представляющее введённый символ. Нажмите клавишу ’A’ — и отправляется значение 65 (0x41). Нажмите ’Z’ — и отправляется 90 (0x5a).

7-битная кодировка ASCII

Список символов и их значений определён в стандарте American Standard Code for Information Interchange (ASCII), он же стандарт ISO/IEC 646 / ECMA-6 — «7-битный кодированный набор символов», который определяет:

  • 128 значений, представляющих печатные латинские символы A−Z (65-90), a−z (97−122), 0−9 (48−57)
  • Много общих знаков препинания
  • Несколько непечатаемых управляющих кодов (0−31 и 127):

Стандартные символы 7-битной ASCII

Когда 7 бит недостаточно: кодовые страницы

Однако 7 бит не обеспечивают достаточно места для кодирования многих диакритических знаков, знаков препинания и символов, используемых в других языках и регионах. Так что с добавлением дополнительного бита можно расширить таблицу символов ASCII дополнительными наборами «кодовых страниц» для символов 128−255 (и возможного переопределения нескольких непечатаемых символов ASCII).

Например, IBM ввела кодовую страницу 437 с несколькими графическими символами вроде ╫ (215) и ╣(185) и математическими, включая π (227) и ± (241), а также переопределила печатные символы для обычно непечатаемых символов 1−31:

Кодовая страница 437

Кодовая страница Latin-1 определяет множество символов, используемых языками на основе латиницы:

Кодовая страница Latin-1

Во многих окружениях командной строки и оболочках можно изменять текущую кодовую страницу, чтобы терминал отображал различные символы (в зависимости от доступных шрифтов), особенно для символов со значением 128−255. Но неправильно указанная кодовая страница приведёт к отображению кракозябр. И да, «кракозябры» — это настоящий термин! Кто бы мог подумать? 😉

Когда 8 бит недостаточно: Юникод

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

Юникод — это международный стандарт (ISO/IEC 10646), который в данный момент определяет 137 439 символов из 146 современных и исторических письменностей, а также многие символы и глифы, в том числе многочисленные смайлики, которые широко используются практически в каждом приложении, платформе и устройстве. Юникод регулярно обновляется дополнительными системами письменности, новыми/исправленными смайликами, символами и т. д.

Юникод также определяет «непечатаемые» символы форматирования, которые позволяют, например, соединить символы и/или повлиять на предыдущие или последующие символы! Это особенно полезно в письменностях вроде арабской, где лигатура конкретного символа определяется окружающими. Эмодзи могут использовать соединительный символ нулевой ширины (zero width joiner), чтобы объединить несколько символов в один визуальный глиф. Например, эмодзи кота-ниндзя Microsoft формируются путём соединения кота с другими эмодзи:

Эмодзи кота-ниндзя Microsoft

Когда байтов слишком много: UTF-8!

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

Поэтому для экономии было разработано несколько новых кодировок Юникода. Среди самых популярных — UTF-32 (4 байта на символ), UTF-16/UCS-2 (2 байта) и UTF-8 (1−4 байта на символ).

Во многом благодаря обратной совместимости с ASCII и экономии места UTF-8 стала самой популярной кодировкой Юникода в интернете. Она демонстрирует взрывной рост с 2008 года, когда обогнала по популярности ASCII и другие популярные кодировки:

Рост популярности кодировки UTF-8 (источник: Википедия)

Таким образом, поначалу терминалы поддерживали 7-битный, а затем 8-битный текст ANSI, но большинство современных терминалов поддерживают текст Unicode/UTF-8.

Итак, что такое командная строка и что такое оболочка?

«Командная строка» или CLI (интерфейс/интерпретатор командной строки) описывает самый фундаментальный механизм, через который человек управляет компьютером: CLI принимает введённый оператором ввод и выполняет требуемые команды.

Например, echo Hello отправляет текст «Hello» на устройство вывода (например, на экран). dir (Cmd) или ls (PowerShell/*NIX) перечисляет содержимое текущего каталога и т.д.

Раньше доступные команды были относительно простыми, но операторы требовали всё более изощрённых команд и возможности писать скрипты для автоматизации повторяющихся или сложных задач. Таким образом, процессоры командной строки стали сложнее и превратились в то, что теперь называют «оболочкой» командной строки (shell).

В Unix/Linux оригинальная оболочка Unix (sh) породила множество оболочек, включая Korn shell (ksh), C shell (csh) и Bourne Shell (sh). В свою очередь, на их основе создан Bourne Again Shell (bash) и т.д.

В мире Microsoft:

  • Оригинальный MS-DOS (command.com) был относительно простой оболочкой командной строки
  • «Командная строка» Windows NT (cmd.exe) разработана с учётом совместимым с устаревшими скриптами command.com, плюс добавлены несколько команд для новой, более мощной операционной системы
  • В 2006 году Microsoft выпустила Windows PowerShell
    • PowerShell — это современная объектная оболочка командной строки, которая позаимствовала функции других оболочек и включает в себя возможности .NET CLR и фреймворка .NET
    • С помощью PowerShell можно писать скрипты и автоматизировать практически все аспекты одного или нескольких компьютеров под Windows, сети, систем хранения данных, БД и т.д.
    • В 2017 году Microsoft открыла исходный код PowerShell, разрешив запуск на macOS, разных вариантах Linux и BSD
  • В 2016 году Microsoft представила подсистему Windows для Linux (WSL)
    • Позволяет запускать обычные немодифицированные двоичные файлы Linux непосредственно в Windows 10
    • Пользователи устанавливают один или несколько обычных дистрибутивов Linux из магазина Windows
    • Можно запустить один или несколько экземпляров дистрибутива параллельно с другими, а также параллельно с существующими приложениями и средствами Windows
    • WSL позволяет запускать бок о бок все инструменты Windows и инструменты командной строки Linux без использования ресурсоёмких виртуальных машин

Мы ещё вернёмся к оболочкам командной строки Windows, но пока запомним, что существуют разные оболочки, они принимают команды, введённые пользователем/оператором, и выполняют широкий спектр задач по мере необходимости.

Современная командная строка

Современные компьютеры значительно мощнее «тупых терминалов» прошлого и обычно работают под управлением десктопной ОС (например, Windows, Linux, macOS) с графическим пользовательским интерфейсом (GUI). Такое окружение GUI позволяет нескольким приложениям работать одновременно в отдельных окнах на экране и/или невидимо в фоновом режиме.

Cmd, PowerShell и Ubuntu Linux под WSL работают на независимых инстансах консоли

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

Аналогично и приложения командной строки, к которым подключены терминалы, работают как и раньше: получают входные символы, решают, что делать с этими символами, (необязательно) выполняют работу — и могут выдать текст для отображения пользователю. Только вместо связи по медленным каналам TTY терминальные приложения и приложения командной строки на одной машине общаются по очень скоростным каналам Pseudo Teletype (PTY) в памяти.

Современная командная строка

Современные терминалы в основном взаимодействуют с приложениями командной строки, запущенными локально. Но конечно, они также могут взаимодействовать с приложениями командной строки, запущенными на других машинах в той же сети или даже с удалёнными машинами на другой стороне света через интернет. Это «удалённое» взаимодействие с командной строкой — мощный инструмент, который популярен на каждой платформе, особенно на *NIX.

Скромное начало: MS-DOS

На заре компьютерной индустрии управление большинством компьютеров осуществлялось путём ввода команд в командной строке. За рыночную долю боролись компьютеры под Unix, CP/M, DR-DOS и других. В итоге система MS-DOS стала стандартом де-факто для IBM PC и всех совместимых компьютеров:

MS-DOS 6.0

Как и большинство основных операционных систем того времени, интерпретатор командной строки или «оболочка» в MS-DOS предоставляла простой, но относительно эффективный набор команд и синтаксис командных скриптов для написания batch-файлов (.bat).

Предприятия крупного и малого бизнеса очень быстро взяли на вооружение MS-DOS и в совокупности создали многие миллионы скриптов, некоторые из которых всё ещё используются сегодня! Batch-скрипты применяются для автоматизации настройки ПК, установки/изменения параметров безопасности, обновления программного обеспечения, сборки кода и т.д.

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

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

Требуется более удобный и ориентированный на производительность пользовательский интерфейс.

Графический интерфейс идёт в мейнстрим

Добро пожаловать в графический интерфейс пользователя (GUI), изобретённый в Xerox Alto.

Вскоре после изобретения появилось много конкурирующих GUI на компьютерах Lisa и Macintosh от Apple, Commodore Amiga (Workbench), Atari ST (DRI GEM), Acorn Archimedes (Arthur/RISC OS), Sun Workstation, X11/X Windows и многих других, в том числе Microsoft Windows.

Windows 1.0 вышла в 1985 году и являлась по сути приложением MS-DOS, которое предоставляло простое окружение GUI с плиточным окном, позволяя пользователям запускать несколько приложений бок о бок:

Windows 1.01 на MS-DOS

Windows 2.x, 3.x, 95 и 98 работали на базе MS-DOS. Более поздние версии Windows начали заменять некоторые функции MS-DOS альтернативами Windows (например, операции с файловой системой), но все они полагались на фундамент MS-DOS.

Примечание: Windows ME (Millennium Edition) стала интересным гибридом. В ней наконец-то заменили поддержку MS-DOS и поддержку реального режима из предыдущих версий Windows несколькими новыми функциями (особенно технологии Gaming & Media). Некоторые функции позаимствованы из Windows 2000 (например, новый стек TCP/IP), но настроены для работы на домашних ПК, которым трудно запустить полноценную NT.

Но Microsoft понимала, что не может бесконечно растягивать архитектуру и возможности MS-DOS и Windows. Требовалась новая операционная система с прицелом на будущее.

Microsoft — лидер рынка Unix! Да, серьёзно!

Разрабатывая MS-DOS, Microsoft также занималась поставкой Xenix — фирменного порта Unix версии 7 — для различных процессорных и машинных архитектур, включая Z8000, 8086/80286 и 68000.

К 1984 году Xenix от Microsoft стал самым популярным вариантом Unix в мире!


Тем временем распад Bell Labs — родины Unix — привёл к появлению AT&T, которая начала продавать Unix System V производителям компьютеров и конечным пользователям.

Microsoft понимала, что отсутствие собственной ОС ставит под угрозу её способности для развития. Поэтому было принято решение отказаться от Xenix: в 1987 году Microsoft передала Xenix своему партнёру Santa Cruz Operation (SCO), с которым работала над несколькими проектами по портированию и улучшению Xenix на различных платформах.

Microsoft + IBM == OS/2… ненадолго

В 1985 году Microsoft начала работать с IBM над новой операционной системой OS/2. Она изначально планировалась как «более функциональная DOS» для некоторых современных 32-битных CPU и с учётом других технологий, которые быстро порождались в IBM и у других OEM.

Но история OS/2 оказалась слишком бурной. В 1990 году Microsoft и IBM прекратили сотрудничество. Это было обусловлено рядом факторов, в том числе значительными культурными различиями между разработчиками IBM и Microsoft, проблемами планирования, а также взрывным успехом и ростом внедрения Windows 3.1. IBM продолжала разработку и поддержку OS/2 до конца 2006 года.

К 1988 году Microsoft убедилась, что будущий успех требует более масштабного, смелого и амбициозного подхода. Такой подход потребует новой, современной операционной системы, которая будет поддерживать амбициозные цели компании.

Большая ставка Microsoft: Windows NT

В 1988 году Microsoft пригласила Дэйва Катлера, создателя популярной и уважаемой операционной системы VAX/VMS в компании DEC. Его задача — создать новую, современную, независимую от платформы операционную систему, которой Microsoft будет владеть, контролировать и на которой во многом построит своё будущее.

Этой новой операционной системой стала Windows NT: фундамент, на котором построены Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8 и Windows 10, а также во все версии Windows Server, Windows Phone 7+, Xbox и HoloLens!

Windows NT изначально спроектирована как кроссплатформенная система. Сначала она поддерживала Intel i860, затем MIPS R3000, Intel 80386+, DEC Alpha и PowerPC. С тех пор семейство ОС Windows NT портировали для поддержки процессорных архитектур IA64 Itanium, x64 и ARM/ARM64, среди прочих.

Windows NT предоставляет интерфейс командной строки через терминальное приложение Windows Console и командную строку Command Prompt (cmd.exe). Cmd разработан на максимальную совместимость с пакетными скриптами MS-DOS, чтобы помочь бизнесу перейти на новую платформу.

Мощь PowerShell

Cmd сохраняется в Windows по сей день (и, вероятно, сохранится в течение многих десятилетий). Поскольку его основная задача — обеспечить максимальную обратную совместимость, Cmd редко улучшается. Даже «исправление ошибок» зачастую затруднено, если эти «баги» существовали в MS-DOS или более ранних версиях Windows!

В начале 2000-х оболочка Cmd уже устарела: Microsoft и её клиенты срочно нуждались в более мощной и гибкой командной строке. Из этой потребности появился PowerShell (который возник из «Манифеста Монады» Джеффри Сновера).

PowerShell — это объектно-ориентированная оболочка, в отличие от оболочек на основе файлов/потоков, которые принято использовать в мире *NIX: вместо потоков текста PowerShell обрабатывает потоки объектов. Он предоставляет авторам скриптов возможность прямого доступа и манипуляций с объектами и их свойствами вместо написания множества скриптов для анализа и обработки текста (как sed/grep/awk/lex/др.).

Созданные на базе .NET Framework и среды Common Language Runtime (CLR), язык и синтаксис PowerShell разработаны для объединения богатства экосистемы .NET со многими распространёнными и полезными функциями из множества других языков сценариев оболочки с акцентом на то, чтобы скрипты обеспечивали максимальную консистентность и исключительную… ну… мощь. 🙂

Чтобы узнать больше о PowerShell, рекомендую прочитать книгу «PowerShell в действии» (Manning Press), написанную Брюсом Пайеттом — разработчиком синтаксиса и языка PowerShell. В частности, первые несколько глав содержат подробное обоснование структуры языка.

PowerShell был принят для использования многими технологиями на платформе Microsoft, включая Windows, Exchange Server, SQL Server, Azure и многими другими. Он предоставляет очень согласованные команды для администрирования и управления практически всеми аспектами Windows и/или среды.

PowerShell Core — это PowerShell с открытым исходным кодом, доступное для Windows и различных версий Linux, BSD и macOS.

POSIX для NT, Interix и служб UNIX

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

Когда в 1993 году вышла первая Windows NT версии 3.1, она поддерживала несколько подсистем: МЅ-DOS, Windows, OS/2 и POSIX v1.2. Эти подсистемы позволяли на одной машине и базовой ОС запускать приложения, нацеленные на несколько платформ операционной системы без виртуализации или эмуляции — это внушительная разработка даже по меркам сегодняшнего дня!

Оригинальная реализация POSIX в Windows NT была приемлемой, но для неё требовались значительных улучшения. Поэтому Microsoft приобрела Softway Systems и её POSIX-совместимую подсистему Interix для NT. Изначально Interix поставлялась как отдельное дополнение, а затем её объединили с несколькими полезными утилитами и инструментами и выпустили в виде Services For Unix (SFU) в Windows Server 2003 R2 и Windows Vista. Однако поддержку SFU пришлось прекратить после Windows 8, в основном, из-за недостаточной популярности.

А потом произошла забавная вещь…

Windows 10 — новая эра для командной строки Windows!

В начале разработки Windows 10 компания открыла страницу UserVoice с вопросом, какие функции люди хотят реализовать в различных областях ОС. Сообщество разработчиков особенно громко требовало от Microsoft две вещи:

  1. Внести значительные улучшения в консоль Windows
  2. Предоставить пользователям возможность запускать средства Linux в Windows

На основе этих отзывов Microsoft сформировала две новые группы:

  1. Группа разработки Windows Console и командной строки, которой поручили провести капитальный ремонт инфраструктуры Windows Console и командной строки
  2. Группа разработки Windows Subsystem for Linux (WSL)

Остальное, как говорится, история!

Подсистема Windows для Linux (WSL)

Основанные на GNU/Linux «дистрибутивы» (сочетания ядра Linux и коллекций инструментов пользовательского режима) становятся всё популярнее, особенно на серверах и в облаке. Хотя в Windows имелась POSIX-совместимая среда выполнения, но SFU не мог запускать многие инструменты и двоичные файлы Linux из-за дополнительных системных вызовов и различий в поведении по сравнению с традиционной Unix/POSIX.

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

В середине 2014 года Microsoft сформировала группу разработки того, что станет подсистемой Windows для Linux (WSL). WSL впервые анонсировали в сборке Build 2016, а вскоре предварительная версия вышла на канале Windows 10 Insider.

С тех пор WSL обновляется в большинстве инсайдерских сборок и в каждом крупном выпуске ОС с момента Anniversary Update осенью 2016 года. В каждой новой версии увеличивается функциональность, совместимость и стабильность WSL: в первой версии это был интересный эксперимент, который мог запускать лишь несколько распространённых программ Linux. При активной помощи сообщества (всем спасибо!) разработчики быстро дорабатывали WSL, так что вскоре она получила много новых возможностей и научилась запускать всё более сложные бинарники Linux.

Сегодня (середина 2018 года) WSL запускает большинство двоичных файлов Linux, программы, компиляторы, компоновщики, отладчикии т.д. Многие разработчики, IT-специалисты, инженеры DevOps и многие другие, кому необходимо запускать или создавать инструменты, приложения, службы Linux и т. д., получили резкое повышение производительности и возможность запускать свои любимые инструменты Linux вместе с любимыми инструментами для Windows на одном компьютере, без загрузки двух операционных систем.

Команда WSL продолжает улучшать WSL в части выполнения задач Linux, повышения производительности и интеграции с Windows.

Перезагрузка и капитальный ремонт Windows Console

В конце 2014 года проект по созданию подсистемы Windows для Linux (WSL) шёл полным ходом, и на фоне взрыва оживлённого интереса пользователей к командной строке стало очевидно, что консоль Windows явно нуждается в некотором апгрейде.

В частности, консоли не хватало многих функций, привычных для современных *NIX-совместимых систем, таких как возможность парсинга и вывода последовательностей ANSI/VT, широко используемых в мире *NIX для вывода насыщенного и подсвеченного текста и текстовых UI.

В чём тогда смысл разработки WSL, если пользователь не сможет корректно использовать инструменты Linux?

Ниже пример того, что отображает консоль Windows 7 и Windows 10: обратите внимание, что Windows 7 (слева) не в состоянии правильно отобразить VT, сгенерированный линуксовыми программами tmux, htop, Midnight Commander и cowsay, но они корректно выглядят в Windows 10 (справа):

Сравнение консоли Windows 7 и Windows 10

Так, в 2014 году была сформирована небольшая «группа Windows Console». На неё возложили задачу распутать, понять и улучшить кодовую базу Windows Console… которой к этому времени было около 28 лет — больше, чем программистам, которые работают над этим проектом.

Как подтвердит любой разработчик, которому когда-либо приходилось брать старый, грязный, плохо поддерживаемый код, улучшение такого кода представляет собой сложную задачу. Ещё сложнее не нарушить существующее поведение. Для обновления самой часто запускаемой программы в Windows, не нарушив работу миллионов клиентских скриптов, инструментов, скриптов авторизации, систем сборки, производственных систем, систем анализа и прочих, требуется немало «внимания и терпения». 😉

Для разработчиков проблема усугубилась, когда они поняли всю строгость требований к консоли со стороны клиентов. Например, если производительность консоли изменялась на 1−2% от сборки к сборке, то срабатывали сигналы тревоги в группе Windows Build, что приводило… гм… к «быстрой и прямой обратной связи», то есть требованию немедленного исправления.

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

  1. НЕ допускать новых уязвимостей
  2. НЕ ломать инструменты, скрипты, команды и т. д. у существующих клиентов (внутренних или внешних)
  3. НЕ снижать производительность и не увеличивать потребление памяти/IO (без чётких и хорошо доведённых причин)

За последние три года команда Windows Console провела следующую работу:

  • Капитальный ремонт внутренних компонентов
    • Значительное упрощение и уменьшение кодовой базы
    • Замена нескольких внутренних коллекций, списков, стеков и т.д. контейнерами STL
    • Разбиение на модули и изоляция логических и функциональных единиц кода, что позволяет улучшать функции (а иногда и заменять их), не «ломая мир»
  • Объединение нескольких ранее отдельных и несовместимых консольных движков в один
  • МНОЖЕСТВО улучшений безопасности и надёжности
  • Возможность парсинга и вывода последовательностей ANSI/VT, что позволяет консоли точно отображать насыщенный текстовый вывод из *NIX и других современных инструментов командной строки и приложений
  • Поддержка 24-битного цвета вместо прежних 16 цветов!
  • Улучшенная безбарьерность: Narrator и другие приложения безбарьерной среды работают в окне консоли
  • Добавлена/улучшена поддержка мыши и сенсорного ввода

И работа продолжается! В настоящее время мы завершаем реализацию нескольких захватывающих новых функций.

К чему был этот урок истории?

Я надеюсь, вы поняли, что командная строка остаётся ключевым компонентом стратегии, платформы и экосистемы Microsoft.

Хотя для конечных пользователей Microsoft продвигала графический интерфейс, сама компания и её технические клиенты/пользователи/партнёры в значительной степени полагались на командную строку для выполнения множества технических задач.

На самом деле Microsoft буквально не смогла бы создать ни Windows, ни любой другой из своих программных продуктов без быстрой, эффективной, стабильной и безопасной консоли!

На протяжении эпох MS-DOS, Unix, OS/2 и Windows командная строка оставалась, пожалуй, самым важным инструментом в наборе инструментов каждого технического пользователя. Даже многие пользователи, которые никогда не вводили команды в окно, в реальности используют консоль каждый день! Даже сборка кода в Visual Studio (VS) происходит в скрытом окне консоли. При использовании Exchange Server или средств администрирования SQL Server многие из этих команд выполняются с помощью PowerShell в скрытой консоли.

Во время начала разработки Windows NT в 1989 году не было ни графического интерфейса, ни рабочего стола. Была только полноэкранная командная строка, которая визуально напоминала MS-DOS. Когда появилась реализация графического интерфейса Windows, потребовалось создать приложение консоли для GUI — и таким образом родилась Windows Console! Это одно из первых приложений Windows NT с графическим интерфейсом и, безусловно, одно из старейших приложений Windows, которое по-прежнему используется повсеместно!

Кодовой базе консоли Windows в настоящее время (июль 2018 года) почти 30 лет… по сути, больше, чем разработчикам, которые сейчас над ней работают!

Что делает консоль?

Как мы узнали ранее, у терминала относительно простой алгоритм работы:

  • Обработать пользовательский ввод
    • Принять входной сигнал от приборов, включая клавиатуру, мышь, тачскрин и др.
    • Перевести ввод в соответствующие символы и/или последовательности ANSI/VT
    • Отправить символы в подключенное приложение/инструмент/оболочку
  • Обработать вывод приложения:
    • Принять вывод текста из покдлюченного приложения/инструмента командной строки
    • Обновлять экран по мере необходимости, основываясь на полученных данных от приложения (например, полученный текст, перемещения курсора, изменение цвета текста и т.д.)
  • Обработать системные взаимодействия:
    • Запуск по запросу
    • Управление ресурсами
    • Изменение размера/развернуть окно/свернуть окно и т.д.
    • Завершение по запросу или после закрытия канала связи

Но консоль Windows работает немного иначе:

Механика Windows Console

Консоль Windows — обычный исполняемый файл Win32. Изначально он написан на C, но большая часть кода сейчас переносится на C++ по мере того, как разработчики модернизируют и разбивают на модули кодовую базу.

Если вам интересны такие вещи: многие спрашивали, Windows написана на C или C++. Ответ такой: несмотря на объектно-ориентированный дизайн NT, как и большинство ОС, Windows почти полностью написана на C! Почему? Потому что C++ увеличивает потребление памяти и привносит накладные расходы на выполнение кода. Даже сегодня скрытые затраты на выполнение кода C++ могут удивить, но ещё в 1990-х, когда память стоила около $60/МБ (да… $60 за МЕГАБАЙТ!), скрытые затраты на vtables и прочее были значительными. Кроме того, затраты на косвенное обращение к виртуальным методам и разыменование объектов в то время могли привести к очень значительным потерям производительности и масштабированию кода C++. В наше время нужно соблюдать осторожность, но издержки производительности C++ на современных компьютерах вызывают намного меньше беспокойства. Часто это приемлемый компромисс, учитывая безопасность, читабельность и лучшую сопровождаемость кода… именно поэтому мы постепенно переписываем код консоли на современном C++!

Так что внутри консоли Windows?

До Windows 7 инстансы консоли Windows размещались в критически важной подсистеме Client Server Runtime Subsystem (CSRSS)! Но в Windows 7 из соображений безопасности и надёжности консоль переместили из CSRSS в следующие бинарники:

  • conhost.exe — пользовательский режим консоли Windows UX и механика командной строки
  • condrv.sys — драйвер ядра Windows, обеспечивающий коммуникации между conhost и одной или несколькими оболочками командной строки/инструментами/приложениями

Высокоуровневая схема текущей внутренней архитектуры консоли выглядит следующим образом:

Ядро консоли состоит из следующих компонентов (снизу вверх):

  • ConDrv.sys — драйвер режима ядра
    • Обеспечивает высокопроизводительный канал связи между консолью и любыми подключенными приложениями командной строки
    • Переносит туда и обратно сообщения IO Control (IOCTL) между приложениями командной строки и консолью, к которой они «прикреплены»
    • Консольные сообщения IOCTL содержат:
      • Данные, представляющие запросы на выполнение вызовов API для экземпляра консоли
      • Текст, отправляемый из консоли в приложение командной строки
  • ConHost.exe — приложение Win32 GUI:
    • ConHost Core — внутренности и механика
      • Сервер API: преобразует сообщения IOCTL, полученные из приложений командной строки, в вызовы API и отправляет текстовые записи из консоли в приложение командной строки
      • API: реализует консольный API Win32 и логику для всех операций, которые консоль может попросить выполнить
      • Буфер ввода: хранит записи событий клавиатуры и мыши, генерируемые пользовательским вводом
      • VT Parser: если включен, анализирует последовательности VT, извлекает их из текста и генерирует эквивалентные вызовы API
      • Буфер вывода: хранит текст, отображаемый на дисплее консоли. По сути, это 2D-массив структур CHAR_INFO, которые содержат символьные данные и атрибуты каждой ячейки (подробнее о буфере ниже)
      • Другое: в схему не включены инфраструктура сохранения/извлечения значений из реестра и/или файлов ярлыков и т.д.
    • Console UX App Services — слой UX и UI
      • Управляет макетом, размером, положением и прочими характеристиками окна консоли на экране
      • Отображает и обрабатывает параметры UI и т.д.
      • Прокачивает очередь сообщений Windows, обрабатывает их и преобразует введённые пользователем данные в записи событий клавиш и мыши, сохраняя их во входном буфере

Windows Console API

Как видно из схемы архитектуры, в отличие от терминалов NIX, консоль отправляет/получает вызовы API и/или данные в виде сообщений IO Control (IOCTL), а не текста! Даже встроенные в текст последовательности ANSI/VT из приложений командной строки (в основном Linux), извлекаются, анализируются и преобразуются в вызовы API!

Это различие раскрывает ключевое фундаментальное философское различие между *NIX и Windows: в *NIX «всё является файлом», а в Windows «всё является объектом»!

У обоих подходов есть преимущества и недостатки, которые мы перечислим, но не будем подробно обсуждать. Просто помните, что это ключевое различие в философии объясняет многие фундаментальные различия Windows и *NIX!

В *NIX всё является файлом

Когда Unix впервые появился в конце 1960-х и начале 1970-х годов, одним из основных принципов стало то, что (где это возможно) всё следует абстрагировать как файловый поток. Одна из ключевых целей заключалась в упрощении кода для доступа к устройствам и периферии: если все устройства представляются в ОС как файлы, то коду легче получить к ним доступ.

Эта философия работает на самом глубоком уровне: можно даже перемещаться и опрашивать большую часть конфигурации ОС и компьютера под *NIX, перемещаясь по псевдо/виртуальным файловым системам, которые показывают то, что кажется «файлами» и папками, но на самом деле представляет собой конфигурацию машины и оборудование.

Например, в Linux можно исследовать свойства процессоров, изучая содержимое псевдофайла /proc/cpuinfo:

Но простота и согласованность этой модели могут дорого стоить: извлечение/анализ конкретной информации в псевдофайлах часто требует специальных инструментов, таких как sed, awk, perl, python и т.д. Эти инструменты используются для написания команд и скриптов парсинга текстового содержимого, поиска определённых шаблонов, полей и значений. Некоторые из скриптов могут быть довольно сложными, часто трудными в обслуживании и хрупкими — если структура, шаблон и/или формат текста изменятся, многие скрипты, вероятно, потребуется обновить.

В Windows всё является объектом

Когда проектировалась Windows NT, «объекты» рассматривались как будущее в разработке программного обеспечения: «объектно-ориентированные» языки программирования появлялись быстрее, чем тараканы: Simula и Smalltalk уже зарекомендовали себя, а C++ набирал популярность. За ними последовали другие объектно-ориентированные языки, в том числе Python, Eiffel, Objective-C, ObjectPascal/Delphi, Java, C# и многие другие.

Результат предсказуем. Созданная в те пьянящие, объектно-ориентированные дни (около 1989 года) Windows NT разработана с философией, что «всё является объектом». На самом деле одной из самых важных частей ядра NT является Менеджер объектов!

Windows NT предоставляет богатый набор Win32 API для получения и/или управления объектами ОС. Разработчики используют Win32 API для сбора и представления информации, похожей на данные из псевдофайлов и инструментов *NIX, только через объекты и структуры. А поскольку парсеры, компиляторы и анализаторы понимают структуру объектов, то многие ошибки кодирования часто проявляются на ранней стадии, что помогает проверить синтаксическую и логическую правильность намерений программиста. Со временем это может привести к уменьшению сбоев, волатильности и лучшему порядку.

Итак, возвращаясь к основной дискуссии о консоли Windows: команда NT решила построить «консоль», отличную от традиционного терминала *NIX в нескольких ключевых областях:

  • Console API: вместо того, чтобы полагаться на способность программистов генерировать корректные ANSI/VT-последовательности, которые трудно проверить, консоль Windows управляется через богатые консольные API
  • Общие службы: чтобы избежать дублирования служб во всех оболочках командной строки (например, журнал команд, псевдонимы команд), консоль сама предоставляет некоторые из них через Console API

Проблемы с консолью Windows

Хотя консольные API стали очень популярны в инструментах и сервисах командной строки, но ориентированная на API модель имеет определённые недостатки, перечисленные ниже.

Только для Windows

Многие средства командной строки и приложения широко используют Console API.

В чём проблема? Они работают только под Windows.

Таким образом, в сочетании с другими различиями (например, в жизненном цикле и т.д.), приложения командной строки Windows не всегда легко переносятся под *NIX и наоборот.

Из-за этого в экосистеме Windows распространены свои собственные, часто похожие, но обычно отличающиеся средства командной строки и приложения. Это означает, что при использовании Windows пользователям приходится изучать один набор приложений и инструментов командной строки, оболочек, языков сценариев и т.д., а при использовании *NIX — другой набор.

У этой проблемы нет простого решения: консоль Windows и командную строку нельзя просто выбросить и заменить на bash и iTerm2 — существуют сотни миллионов приложений и сценариев, которые зависят от консоли Windows и оболочек Cmd/PowerShell.

Сторонние инструменты, такие как Cygwin, отлично переносят многие основные инструменты GNU и библиотеки совместимости в Windows, но не могут запускать непортированные, неизменённые бинарники Linux. Это очень важно, так как многие пакеты и модули Ruby, Python, Node зависят от бинарных файлов Linux и/или зависят от поведения *NIX.

Эти причины привели к тому, что Microsoft расширила совместимость с Windows, разрешив запуск аутентичных двоичных файлов и средств Linux в подсистеме Windows для Linux (WSL). С помощью WSL пользователи теперь могут загружать и устанавливать один или несколько дистрибутивов Linux бок о бок на одной машине, а также использовать apt/zypper/npm/gem/др. для установки и запуска подавляющего большинства инструментов командной строки Linux вместе с их любимыми приложениями и инструментами Windows.

Тем не менее, у нативной консоли остаётся функциональность, которая отсутствует в сторонних терминалах: в частности, Windows Console предоставляет сервисы command-history и command-alias, чтобы каждой оболочке (в частности) не пришлось повторно реализовать одинаковую функциональность.

Сложности с удалённой работой

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

На *NIX-платформах парадигма изолированности терминалов и приложений командной строки с простым обменом символами привела к тому, что там легко получить доступ и работать с удалённого компьютера/устройства. Если терминал и приложение командной строки обмениваются потоками символов по какой-то упорядоченной инфруструктуре (TTY, PTY и т.д.), то очень легко работать удалённо.

Но в Windows многие приложения командной строки зависят от вызова API консоли и предполагают выполнение на той же машине, что и сама консоль. Это затрудняет удалённое управление. Как приложению командной строки удалённо обратиться к API на консоли локального компьютера? Хуже того, как удалённое приложение обратится к Console API, если доступ к нему осуществляется через терминал на Mac или Linux?!

Извините, что дразню вас, но более подробно мы вернёмся к этой теме в следующей статье.

Запуск консоли… или нет!

Когда пользователь *NIX хочет запустить инструмент командной строки, то сначала запускает терминал. Тот затем запускает оболочку по умолчанию или может быть настроен для запуска определённого приложения/инструмента. Терминал и приложение командной строки взаимодействуют потоками символов через Pseudo TTY (PTY).

Однако в Windows всё работает иначе: пользователи Windows никогда не запускают консоль (conhost.exe) — они сразу запускают оболочки командной строки и приложения, например, Cmd.exe, PowerShell.exe, wsl.exe и прочее. Windows подключает запущенное приложение к текущей консоли (если оно запущено из командной строки) или к вновь созданному экземпляру консоли.

#SAYWHATNOW?

Да, в Windows пользователи запускают приложение командной строки, а не саму консоль.

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

Немного занудства: многие говорят, что «приложения командной строки запускаются в консоли». Это не так и приводит к большой путанице относительно того, как в реальности работает консоль и приложения командной строки! Приложения командной строки и их консоли запускаются в независимых процессах Win32. Помогите исправить это заблуждение. Всегда говорите, что «средства командной строки/приложения выполняются с подключением к консоли». Спасибо!

Звучит неплохо, правда? На самом деле… нет. Есть некоторые проблемы:

  1. Консоль и приложение командной строки взаимодействуют сообщениями IOCTL через драйвер, а не через текстовые потоки
  2. Windows указывает, что ConHost.exe — это консольное приложение, подключенное к приложениям командной строки
  3. Windows создаёт «каналы» (pipes), по которым взаимодействуют консоль и приложение командной строки

Это существенные ограничения. Что если вы хотите создать альтернативное консольное приложение для Windows? Как отправить события с клавиатуры/мыши и прочие действия пользователя в приложение командной строки, если нельзя получить доступ к каналам, соединяющим консоль с этим приложением?

Увы, ситуация тут не очень хорошая. Есть отличные сторонние консоли и серверные приложения для Windows (например, ConEmu/Cmder, Console2/ConsoleZ, Hyper, Visual Studio Code, OpenSSH и т. д.), но им приходится прибегать к изощрённым трюкам, чтобы работать как обычная консоль!

Например, сторонним консолям приходится запускать приложение командной строки вне экрана, скажем, с координатами (-32000, -32000). Затем отправлять нажатия клавиш на внеэкранную консоль, скрапить с экрана текстовое содержимое внеэкранной консоли — и повторно выводить его в собственном пользовательском интерфейсе!

Какое-то безумие, верно?! Тот факт, что эти приложения вообще работают — лишь доказательство изобретательности и целеустремленности их создателей.

Очевидно, что мы стремимся исправить эту ситуацию. Об этом тоже расскажем в следующих статьях.

Windows Console и VT

Как описано выше, консоль Windows предоставляет богатый API. С помощью Console API приложения и инструменты командной строки пишут текст, изменяют его цвет, перемещают курсор и т.д. И благодаря этим API не нужно было поддерживать последовательности ANSI/VT, которые обеспечивают похожую функциональность на других платформах.

Фактически, до Windows 10 в консоли Windows была реализована только минимальная поддержка последовательностей ANSI/VT:

Всё изменилось в 2014 году, когда Microsoft сформировала новую группу разработки Windows Console. Одним из её главных приоритетов стало реализовать всестороннюю поддержку последовательностей ANSI/VT для визуализации выходных данных приложений *NIX, работающих в подсистеме Windows для Linux (WSL) и на удалённых машинах *NIX.

Группа быстро внедрила в консоль Windows 10 всестороннюю поддержку последовательностей ANSI/VT, что позволило пользователям использовать и наслаждаться огромным набором инструментов и приложений командной строки Windows и Linux.

Команда продолжает улучшать поддержку VT с каждым выпуском ОС и будет благодарна за любые проблемы, которые вы упомянете в нашем трекере на GitHub. 😉

Обработка Юникода

К сожалению, консоль Windows и её API появились до изобретения Юникода!

Консоль Windows хранит текст (который впоследствии выводится на экран) как символы кодировки UCS-2 с двумя байтами на символ. Эта кодировка поддерживает кодирование первых 65536 позиций символов, что известно как плоскость 0 или основная многоязычная плоскость (Basic Multilingual Plane, BMP).

Приложения командной строки выводят текст в консоли с помощью Console API. Обрабатывающие текст интерфейсы, бывают двух видов: функции с суффиксом А обрабатывают однобайтовые/символьные строки, функции с суффиксом W обрабатывают двухбайтовые (wchar)/символьные строки.

Например, функция WriteConsoleOutputCharacter компилируется в WriteConsoleOutputCharacterA() для проектов ASCII или в WriteConsoleOutputCharacterW() для проектов на Юникоде. Код может напрямую вызвать функцию с суффиксом ...A или ...W, если необходима обработка конкретного типа.

Примечание: каждый W API поддерживает UCS-2, потому что это всё, что существовало в момент разделения на A/W, и мы думали, что так будет хорошо. Но многие W API уже обновились для поддержки ещё и UTF-16 на том же канале.

Не все W API понимают UTF-16, но все они знают хотя бы UCS-2.

Кроме того, консоль не поддерживает некоторые новые функции Юникода, включая соединительные символы нулевой ширины (zero width joiner), которые используются для объединения отдельных символов в арабских и индийских письменностях, а также для объединения символов эмодзи в один визуальный глиф.

Как же ввести эмодзи кота-ниндзя или сложные многобайтовые китайские/арабские символы в консоль? К сожалению, никак!

Мало того что консольный API не поддерживает символы Юникод больше двух байт на глиф (эмодзи NinjaCat требует 8 байт!), но внутренний буфер UCS-2 консоли тоже не может хранить дополнительные байты данных. Что ещё хуже, текущий GDI-рендерер консоли не сможет отрисовать глиф, даже если тот поместится в буфер!

Эх… Таковы радости legacy-кода.

Здесь опять я намерен прервать рассказ — вернёмся к этой теме в следующей статье. Оставайтесь с нами!

Итак, на чём мы остановились?

Дорогой читатель, если вы прочитали всё вышенаписанное, спасибо вам, и примите поздравления — теперь вы знаете больше о консоли Windows, чем большинство ваших друзей, и, вероятно, даже больше, чем вы сами хотели узнать! Какая удача!

Мы многое рассмотрели в этой статье:

  • Основные строительные блоки консоли Windows:
    • Condrv.sys — коммуникационный драйвер
    • ConHost.ехе — UX консоли и механика:
      • Сервер API — сериализует вызовы API и текстовые данные с помощью сообщений IOCTL, отправляемых в/из драйвера
      • API — функциональность консоли
      • Буферы — буфер ввода, хранящий пользовательский ввод, и буфер вывода, хранящий выходной/отображаемый текст
      • Парсер VT — преобразует последовательности ANSI/VT из текстового потока в вызовы API
      • UX консоли — состояние UI консоли, настройки, функции
      • Другое — технические данные, безопасность и проч.
  • Что делает консоль
    • Отправляет пользовательский ввод в подключенное приложение командной строки
    • Получает и отображает выходные данные из подключенного приложения командной строки
  • Чем консоль отличается от терминалов *NIX
    • NIX: «Всё представляет собой файл/текстовый поток»
    • Windows: «Все представляет собой объект, доступный через API»
  • Проблемы консоли
    • Консольные приложения и приложения командной строки взаимодействуют через запросы вызовов API и текст, сериализованный в Сообщения IOCTL
    • Консольный API могут вызвать только приложения командной строки Windows
      • Сложнее портировать приложения на/из Windows
    • Приложения взаимодействуют с консолью через Windows API
      • Затрудняет удалённое взаимодействие с приложениями и средствами командной строки Windows
    • Зависимость от IOCTL нарушает схему «обмен символами» терминала
      • Затрудняет эксплуатацию инструментов командной строки удалённого с не-Windows машин
    • Запуск приложений командной строки Windows является «необычным»
      • К приложениям командной строки можно присоединить только ConHost.exe
      • Сторонние терминалы вынуждены создавать внеэкранную консоль, отправлять туда символы и скрапить экран
    • Windows исторически не понимает последовательности ANSI/VT
      • В основном исправлено в Windows 10
    • У консоли ограниченная поддержка Юникода и в настоящее время проблемы с хранением и рендерингом UTF-8 и глифов, которые нуждаются в соединительных символах нулевой ширины

В следующих нескольких статьях этой серии мы более подробно разберём консоль и обсудим решение этих проблем… и не только!

Как всегда, следите за обновлениями.

Самые нужные команды и системные утилиты для консоли Windows 💻

У консоли есть много команд, и этому посвящены отдельные учебники. Я покажу основные, самые популярные. Некоторые команды могут работать только в командной строке запущенной от имени администратора.

Почти любая команда может запускаться с параметрами. Чтобы посмотреть помощь по команде нужно ввести её со знаком вопроса, вот так: команда /?

Необязательные параметры обозначены в квадратных скобках:

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

Посмотрите небольшое видео как выполнять команды:

Команда чтения содержимого папки — dir

Отображает содержимое каталога. Для выбора другого каталога (не того, который отображается по умолчанию), необходимо указать требуемый путь. К примеру: dir  C:\Temp

Перейти в другую папку — cd

Меняет каталог. Текущее «местонахождение» можно посмотреть здесь:

Для смены текущей папки нужно набрать команду: cd имя_каталога

Например: cd c:\windows

Чтобы перейти на другой диск, достаточно просто ввести имя диска с двоеточием, например d:

Обратите внимание:

  • не обязательно прописывать диск, если требуемый каталог находится на уже открытом диске;
  • чтобы при вводе команды «cd» можно было перейти к другому диску, в команде необходимо прописать параметр /D (так называемый флаг). Тогда команда примет следующий вид: cd /D d:\temp

Команда создать каталог — mkdir

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

Эта же команда позволяет создать целое дерево каталогов, в таком случае команда будет выглядеть так:
mkdir c:\1\2\3\4\5\6 где цифры заменить на свои имена папок

Удаление папки — rmdir

Довольно полезная команда, с помощью которой можно удалить ненужный каталог. Выглядит она, например, вот так: rmdir c:\temp\test

Стоит учитывать, что в стандартном виде, командой удалятся только пустые каталоги. Если в папке есть содержимое любого вида, пользователю выдается сообщение «Папка не пуста». Для того чтобы удалить папку вместе с содержимым, к команде добавляют параметр /S. Тогда команда будет иметь следующий вид:
rmdir /s c:\temp\test

Подтверждается удаление нажатием клавиш «Y» и Enter.

Популярные утилиты и программы для консоли

Помимо встроенных команд, командную строку часто используют для запуска консольных (с текстовым интерфейсом) и обычных программ. Для этого не обязательно открывать саму консоль, а можно ввести команду прямо в окне «Выполнить». Но при этом, после её исполнения, окно быстро закроется и исчезнет. Т.е., если надо смотреть результаты исполнения утилиты, её надо запускать из самой командной строки.

Выключение компьютера — shutdown

Здесь большинство пользователей задают вполне логичный вопрос: зачем ради выключения компьютера лезть в консоль? Ответ прост. Для примера, компьютер работает над выполнением определенной задачи, прервать которую нельзя. А вам в это время нужно уйти, или банально лечь спать, при этом на всю ночь оставлять компьютер включенным не хочется.

Конечно, есть и другие способы включить таймер на выключение компьютера, но практически все эти способы связаны с запуском постороннего приложения. Если же их нет под рукой, то как нельзя кстати окажутся команды командной строки. Итак, для выключения компьютера, набираем: shutdown  –s

Эта команда незамедлительно выключит компьютер. Если же необходимо отложить процесс, набираем: shutdown –s –t 1200

где цифры – это время, по истечении которого компьютер выключится (в секундах). После нажатия клавиши Enter, начнется отсчет времени до выключения ПК. При этом появится такое сообщение:

За 10 минут до конца появится ещё одно системное уведомление. Если необходимости в отключении компьютера больше нет, то остановить отсчет можно просто добавив к команде параметр  –a: shutdown -a
Это отключит обратный отсчет.

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

Как можно понять из названия, команда покажет пользователю некоторые сведения о системе и «железе» пользователя:

Но всё-таки, чтобы посмотреть параметры компьютера лучше использовать программы типа AIDA64.

Очищение экрана — cls

Позволяет очистить экран от введенных ранее команд. Вводится без параметров: cls

Получение информации о сетевых настройках — ipconfig

Команда без введения дополнительных параметров отобразит:

  • информацию про IP-адрес
  • маску подсети
  • основной шлюз каждого из подключенных сетевых адаптеров.

Для получения более подробных сведений, команду вводят с параметром: ipconfig /all
Так можно узнать MAC-адреса сетевых карт, текущие DNS сервера, состояние IP-маршрутизации и другое.

Проверка диска на ошибки — chkdsk

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

  • /f – исправляет найденные на диске ошибки. При этом перед началом проверки диск необходимо заблокировать. Если этого не сделать, система запросит проверку при следующем запуске.
  • /v – в процессе проверки выводит на экран имя каждого проверяемого файла и каталога.
  • /r – обнаруживает поврежденные сектора и восстанавливает все данные, которые могут быть восстановлены.

Форматирование диска — format

Форматирует жесткий диск или флешку. Прописывается следующим образом: format С:

НЕ ВЫПОЛНЯЙТЕ ЭТУ КОМАНДУ, ЕСЛИ НЕ ЗНАЕТЕ ЗАЧЕМ, ИНАЧЕ МОЖЕТЕ ПОТЕРЯТЬ СВОИ ДАННЫЕ!

Дополнительные параметры:

  • /fs – определяет файловую систему форматируемого диска;
  • /v – задает метку тома;
  • /a – задает размер кластера. Не обязательно, т.к. система может определить размер кластера автоматически, в соответствии с размером диска.

Могут быть прописаны и другие команды, смотрите помощь. Форматировать диски в Windows 7/10 можно не только из командной строки, но и из контекстного меню диска в проводнике.

Информация о запущенных процессах — tasklist

Команда запускает утилиту, выводящую список запущенных процессов (с PID-кодами), а также предоставляет информацию о размере потребляемой оперативной памяти каждым процессом. Без дополнительных параметров утилита просто выведет список запущенных на компьютере процессов:

Если нужно просмотреть все процессы, запущенные на удаленном ПК, в команде прописывается параметр /s и указывается IP-адрес или доменное имя требуемого компьютера.

Завершение процессов — taskkill

Останавливает процесс, запущенный локальной или удаленной системой. Для остановки процесса по идентификатору, используется параметр /pid. То есть, команда будет выглядеть примерно так: taskkill /pid 5637

где 5637 – это PID (идентификатор процесса). Также есть возможность остановить процесс с определенным именем образа, для этого нужно добавить параметр /im. Впоследствии, команда будет выглядеть так: taskkill /im notepad.exe

где на месте «notepad.exe» своё имя программы. Иногда просто лень искать программу в меню «Пуск» и тогда я просто набираю имя запускаемого файла в окне «Выполнить». Самые часто используемые мной:

Редактор реестра — regedit

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

Конфигурация системы — msconfig

Вызовет специальную службу «Конфигурация системы».

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

Проверка системных файлов — sfc

Запускает утилиту, которая восстанавливает поврежденные системные файлы. Очень полезная утилита, которую можно дополнить также некоторыми командами:

  • /scannow – для немедленной проверки защищенных системных файлов;
  • /scanonce – для проверки защищенных системных файлов один раз при следующем запуске системы;
  • /scanboot – для проверки защищенных системных файлов при каждом запуске системы.

Если при проверке обнаружатся повреждённые или «левые» файлы, то программа попросит вставить диск с установочным дистрибутивом Windows.

И напоследок утилиты, которыми я также часто пользуюсь:

  • appwiz.cpl – открывает стандартное окно «Установка и удаление программ»
  • calc – встроенный в Windows «Калькулятор»
  • notepad – блокнот
  • pbrush – графический редактор «Paint»
  • diskmgmt.msc – окно управления дисками, здесь можно разбить жёсткий диск на разделы
  • services.msc – управление системными службами

В заключение

Здесь предоставлен минимальный набор команд, которые можно использовать при работе с консолью. Существует еще много полезных, или даже просто интересных команд, многие из которых пользователь может изучить самостоятельно. Для этого, достаточно просто ввести в командную строку команду «help», и она покажет доступные команды.

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

Командная строка в Windows: команды и функции

13 октября, 2020

Автор: Maksim

Командная строка в Windows (CMD) — это программное обеспечение в виде текстового интерфейса для управления операционной системой посредством ввода специальных команд.

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

Из предыдущего материала вы узнали, что такое файловая система. Сейчас мы рассмотрим команды командой строки в Windows 10, 7 и 8 и, что такое они значат.

Важно! О всех способах запуска, подробно и с объясняющими картинками, написано в материале — как открыть командную строку.

Командная строка Windows — команды CMD

1. Чтобы запустить cmd.exe — нажмите одновременно клавиши WIN + R на клавиатуре и введите команду — cmd. Все команды нужно вводить именно здесь.

2. В Виндовс 10, 7 и 8 вы можете посмотреть все возможные/активные команды, которые поддерживает ваша командная строка. Для этого введите слово — help

3. Чтобы посмотреть дополнительные атрибуты к каждой команде, введите ее после «help», чтобы получилось так — help название_команды

Как вводить команды

Возьмем команду — MKDIR, с помощью нее можно создавать папки в системе. Введите — help mkdir, чтобы посмотреть, какие атрибуты можно дополнительно указать.

Создадим с помощью нее папку в корне диска C. Для этого введем — mkdir «c:\новая папка». Если пробела в названии/пути папки нет — то можно вводить без кавычек, так — mkdir c:\новаяпапка

Вместо — c:\, можно ввести любой другой адрес, где необходимо создать папку. Универсальная команда для создания директории на рабочем столе для Windows 10 и 7 — mkdir «%USERPROFILE%\DESKTOP\новая папка на рабочем столе»

Полезные CMD команды для Windows 10 и 7

  • ipconfig /all — Сведения о сетевых адаптерах
  • ping и tracert — проверить пинг с каким-либо IP или сайтом. К примеру — ping anisim.org, пропингует этот сайт
  • NetStat -an — Список сетевых подключений и порты
  • Assoc — Посмотреть, какие программы по умолчанию открывают определенные типы файлов. К примеру, к какой программе привязаны файлы ZIP.
  • Ipconfig /flushdns — Очистить кэш DNS
  • Systeminfo — Выводит подробную информацию о вашем ПК, показывает даже версию BIOS
  • shutdown /r — перезагрузка ПК или ноутбука
  • SFC /scannow — просканирует системные папки на наличие проблем
  • nslookup — Узнать IP домена, введите, к примеру, nslookup -type=any anisim.org, чтобы узнать айпи этого сайта
  • Driverquery — Выводит список установленных драйверов
  • Tasklist — Выводит список всех запущенных процессов в системе
  • Taskkill — Позволяет завершить процесс, вводится так — taskkill pid_процесса
  • control — Открыть панель управления (Классическая)
  • msconfig — Откроет конфигурацию системы

Запуск программ и утилит:

  • explorer — Проводник
  • calc — Калькулятор
  • notepad — Блокнот
  • mspaint — Paint
  • write — Wordpad
  • regedit — Редактор реестра
  • taskmgr — Диспетчер задач
  • devmgmt.msc — Диспетчер устройств
  • resmon — Монитор ресурсов
  • diskmgmt.msc — Управление дисками
  • dfrgui — Дефрагментация/Оптимизация носителей
  • iexplore — Internet Explorer
  • snippingtool — Инструмент «Ножницы»
  • osk — Экранная клавиатура
  • magnify — Экранная лупа
  • narrator — Экранный диктор

Интересно! Также здесь работают и другие команды, к примеру, те, которые мы вводили в диалоговом окне выполнить.

В заключение

Это действительно удобный программный интерфейс, который особенно любят использовать сисадмины и другие компьютерные администраторы.

15 команд командной строки Windows (CMD), которые вы должны знать

Microsoft постепенно отказалась от команд CMD в интерфейсе Windows. Это не без причины; это устаревший и по большей части ненужный инструмент из эпохи текстового ввода. Но многие команды остаются полезными, а в Windows 8 и 10 даже добавлены новые функции.

Здесь мы представляем основные команды, которые должен знать каждый пользователь Windows.

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

Предпочитаете этот учебник в виде видео? Мы вам поможем:

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

1.Assoc

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

Вы также можете расширить команду, чтобы изменить ассоциации файлов.Например, «assoc .txt =» изменит ассоциацию файлов для текстовых файлов с любой программой, которую вы вводите после знака равенства. Сама команда «Assoc» покажет как имена расширений, так и имена программ, что поможет вам правильно использовать эту команду. Вероятно, вам будет проще сделать это в графическом интерфейсе, но интерфейс командной строки — вполне функциональная альтернатива.

2.Шифр

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

Однако команда cipher стирает каталог, записывая в него случайные данные.Например, чтобы стереть диск C, вы должны использовать команду «cipher / w: c», которая сотрет свободное место на диске. Команда не перезаписывает восстановленные данные, поэтому вы не удалите нужные файлы, запустив эту команду.

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

3. Запрос драйвера

Драйверы остаются одним из самых важных программ, устанавливаемых на ПК.Неправильно настроенные или отсутствующие драйверы могут вызвать всевозможные проблемы, поэтому хорошо иметь доступ к списку того, что есть на вашем компьютере. Именно это и делает команда «driverquery». Вы можете расширить его до «driverquery -v», чтобы получить дополнительную информацию, включая каталог, в котором установлен драйвер.

4.Файл Сравнить

Вы можете использовать эту команду для определения различий в тексте между двумя файлами.Это особенно полезно для писателей и программистов, пытающихся найти небольшие изменения между двумя версиями файла. Просто введите «fc», а затем путь к каталогу и имя файла двух файлов, которые вы хотите сравнить.

Вы также можете расширить команду несколькими способами.При вводе «/ b» сравнивается только двоичный вывод, «/ c» игнорирует регистр текста при сравнении, а «/ l» сравнивает только текст ASCII.

Так, например, вы можете использовать следующее:

  fc / l "C: \ Program Files (x86) \ example1.doc "" C: \ Program Files (x86) \ example2.doc " 

Приведенная выше команда сравнивает текст ASCII в двухсловных документах.

5. Ipconfig

Эта команда передает IP-адрес, который в настоящее время использует ваш компьютер.Однако, если вы находитесь за маршрутизатором (как и большинство современных компьютеров), вместо этого вы получите адрес локальной сети маршрутизатора.

Тем не менее, ipconfig полезен из-за своих расширений.«ipconfig / release», за которым следует «ipconfig / refresh», может заставить ваш компьютер с Windows запрашивать новый IP-адрес, что полезно, если ваш компьютер утверждает, что он недоступен. Вы также можете использовать «ipconfig / flushdns», чтобы обновить свой DNS-адрес. Эти команды отлично подходят, если средство устранения неполадок сети Windows давит, что иногда случается.

6.Netstat

Ввод команды «netstat -an» предоставит вам список открытых в данный момент портов и связанных IP-адресов.Эта команда также сообщит вам, в каком состоянии порт находится — прослушивает, установлен или закрыт.

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

7.Пинг

Иногда вам нужно знать, поступают ли пакеты на определенное сетевое устройство.Вот здесь и пригодится ping.

Если ввести «ping» и указать IP-адрес или веб-домен, на указанный адрес будет отправлена ​​серия тестовых пакетов.Если они приходят и возвращаются, вы знаете, что устройство способно обмениваться данными с вашим ПК; если это не удается, вы знаете, что что-то блокирует связь между устройством и вашим компьютером. Это может помочь вам решить, является ли причина проблемы неправильной конфигурацией или отказом сетевого оборудования.

8.PathPing

Это более продвинутая версия ping, которая полезна, если между вашим компьютером и устройством, которое вы тестируете, установлено несколько маршрутизаторов.Как и ping, вы используете эту команду, набирая «pathping», а затем IP-адрес, но в отличие от ping, pathping также передает некоторую информацию о маршруте, по которому проходят тестовые пакеты.

9.Tracert

Команда «tracert» аналогична pathping.Еще раз введите «tracert», а затем IP-адрес или домен, который вы хотите отслеживать. Вы будете получать информацию о каждом шаге на пути между вашим компьютером и целью. Однако, в отличие от pathping, tracert также отслеживает, сколько времени (в миллисекундах) занимает каждый переход между серверами или устройствами.

10.Powercfg

Powercfg — очень мощная команда для управления и отслеживания того, как ваш компьютер использует энергию.Вы можете использовать команды «powercfg hibernate on» и «powercfg hibernate off» для управления спящим режимом, а также вы можете использовать команду «powercfg / a» для просмотра состояний энергосбережения, доступных в настоящее время на вашем ПК.

Другая полезная команда — «powercfg / devicequery s1_supported», которая отображает список устройств на вашем компьютере, поддерживающих режим ожидания с подключением.Если этот параметр включен, вы можете использовать эти устройства для вывода компьютера из режима ожидания — даже удаленно. Вы можете включить это, выбрав устройство в Диспетчере устройств , открыв его свойства, перейдя на вкладку Power Management и затем установив флажок Разрешить этому устройству выводить компьютер из режима сна .

«Powercfg / lastwake» покажет вам, какое устройство в последний раз выводило ваш компьютер из спящего режима.Вы можете использовать эту команду для устранения неполадок вашего компьютера, если он выходит из спящего режима случайным образом.

Вы можете использовать команду «powercfg / energy», чтобы создать подробный отчет о потреблении энергии для вашего ПК.Отчет сохраняется в каталоге, указанном после завершения команды. Этот отчет сообщит вам о любых системных сбоях, которые могут увеличить энергопотребление, например о том, что устройства блокируют определенные спящие режимы или плохо настроены для реагирования на ваши настройки управления питанием.

В Windows 8 добавлен «powercfg / batteryreport», который предоставляет подробный анализ использования батареи, если применимо.Обычно отчет выводится в пользовательский каталог Windows и содержит подробную информацию о времени и продолжительности циклов зарядки и разрядки, среднем сроке службы аккумулятора и предполагаемой емкости аккумулятора.

11.Выключение

В Windows 8 появилась команда выключения, которая — как вы уже догадались! — выключает ваш компьютер.

Это, конечно, избыточно с уже легко доступной кнопкой выключения, но не лишним является команда «shutdown / r / o», которая перезагружает ваш компьютер и запускает меню Advanced Start Options, откуда вы можете получить доступ к безопасному режиму. и утилиты восстановления Windows.Это полезно, если вы хотите перезагрузить компьютер для устранения неполадок.

12.Systeminfo

Эта команда предоставит вам подробный обзор конфигурации вашего компьютера.Список охватывает вашу операционную систему и оборудование. Например, вы можете найти исходную дату установки Windows, время последней загрузки, версию BIOS, общий и доступный объем памяти, установленные исправления, конфигурации сетевых карт и многое другое.

Используйте «systeminfo / s», за которым следует имя хоста компьютера в вашей локальной сети, чтобы удаленно получить информацию для этой системы.Для этого могут потребоваться дополнительные элементы синтаксиса для домена, имени пользователя и пароля, например: «systeminfo / s [имя_хоста] / u [домен] \ [имя_пользователя] / p [пароль_пользователя]»

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

Средство проверки системных файлов — это инструмент автоматического сканирования и восстановления, ориентированный на системные файлы Windows.

Вам нужно будет запустить командную строку с правами администратора и ввести команду «sfc / scannow».Если SFC обнаружит какие-либо поврежденные или отсутствующие файлы, он автоматически заменит их, используя кэшированные копии, хранящиеся в Windows только для этой цели. Для выполнения команды на старых ноутбуках может потребоваться полчаса.

14.Список задач

Вы можете использовать команду «tasklist», чтобы предоставить текущий список всех задач, запущенных на вашем ПК.Хотя эта команда несколько избыточна для диспетчера задач, иногда она может находить задачи, скрытые от просмотра в этой утилите.

Также есть широкий выбор модификаторов.«Tasklist -svc» показывает службы, связанные с каждой задачей, используйте «tasklist -v» для получения более подробной информации по каждой задаче, а «tasklist -m» находит файлы .dll, связанные с активными задачами. Эти команды полезны для расширенного устранения неполадок.

15.Тасккилл

Задачи, которые появляются в команде «tasklist», будут иметь идентификатор исполняемого файла и процесса (четырех- или пятизначное число), связанный с ними.Вы можете принудительно остановить программу, используя «taskkill -im», за которым следует имя исполняемого файла, или «taskkill -pid», за которым следует идентификатор процесса. Опять же, это немного избыточно для диспетчера задач, но вы можете использовать его, чтобы убить в противном случае не отвечающие или скрытые программы.

Практически все Windows 8/8.1 компьютеры поставляются с завода с образом восстановления, но образ может содержать вредоносное ПО, которое вы не хотели бы переустанавливать. После удаления программного обеспечения вы можете создать новый образ с помощью команды «recimg». Ввод этой команды дает очень подробное объяснение того, как ее использовать.

У вас должны быть права администратора, чтобы использовать команду «recimg», и вы можете получить доступ только к настраиваемому образу восстановления, созданному с помощью функции «обновления» Windows 8.

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

Команды CMD, рекомендованные читателями

Наши читатели регулярно используют следующие команды:

  • nbstat: «Для поиска имен компьютеров в вашей сети.»(Вферг)
  • netstat -ano | найти «est»: «Чтобы получить список процессов с установленными соединениями CP.» (Эрик)
  • список задач | find «[идентификатор процесса]»: «Чтобы получить имя исполняемого файла, связанного с конкретным идентификатором процесса, который меня интересует.» (Эрик)
  • cacls: Эта команда «наиболее удобна для ручного доступа к скрытым файлам и папкам.(A41202813)
  • net use: «Для отображения приводов сетевых станков с ЧПУ». (Джимбо)
  • chkdsk / f C: «Проверяет жесткий диск раздела C: на наличие ошибок и исправляет поврежденные сектора». (Кай М)
  • Задач: Для планирования задач. (Тедди)

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

Эта статья может дать вам лишь представление о том, что скрыто в командной строке Windows.Если включить все переменные, есть буквально сотни команд. Загрузите справочное руководство по командной строке Microsoft (в Edge или Internet Explorer) для расширенной поддержки и устранения неполадок.

Устали от командной строки? Пора попробовать новый терминал Windows!

10 популярных приложений для Android, которые не следует устанавливать

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

Об авторе

Тина Зибер
(Опубликовано 823 статей)

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

Ещё от Tina Sieber

Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.

Console2 — улучшенная командная строка Windows

Сегодня я работал над своим Mac и, хотя я утверждаю, что поисковик для OS X столь же эффективен, как стрельба по рукам новокаином, я по-прежнему завидую простоте их терминала. В мире командной строки Windows с тех пор не произошло ничего интересного. На самом деле я писал в блоге о текстовом режиме как о упущенной возможности в 2004 .Думаю, этот пост актуален и сегодня. Текст быстрый. Я провожу там много времени и в любой день буду гонять кого угодно с мышью.

Я писал о Console2 как о лучшей подсказке для CMD.exe в 2005 . Вот и прошло 6 лет, и я заглянул туда, чтобы убедиться, что Console2 все еще разрабатывается. Тогда они были на сборке 122, и они, волшебным образом и, к их исключительной чести, все еще существуют и находятся на сборке 147. Epic.

Проекты с открытым исходным кодом могут быть реализованы, но они никогда не умирают.

Я загрузил Console2 по адресу http://sourceforge.net/projects/console/files/ и поместил его в c: \ dev \ utils, который находится в моем PATH.

Вот как я настроил его по умолчанию.
  • Щелкните правой кнопкой мыши в главной консоли и выберите Правка | Настройки.
  • В консоли установите каталог запуска по умолчанию.
  • В разделе «Внешний вид | Дополнительно» скройте меню, строку состояния и панель инструментов.
  • В разделе «Внешний вид» установите шрифт Consolas 15.Не 14, не 16. Черный фон, зеленый цвет переднего плана Кермит.
  • Установите прозрачность окна на хорошее консервативное значение 40 как для Активного, так и для Неактивного. Не слишком в лицо, но достаточно гладко, чтобы сказать: «Я тонкий задира».
  • В разделе «Поведение» установите «Копировать при выборе»
  • В разделе «Горячие клавиши» измените сочетание клавиш «Новая вкладка 1» на Ctrl-T, потому что так и должно быть. Вам нужно будет нажать на горячую клавишу, затем в текстовое поле, затем ввести горячую клавишу, которую вы хотите, И нажать « Назначить », чтобы она закрепилась.
  • В разделе «Горячие клавиши» измените «Копировать выделение» на Ctrl-C и «Вставить» на Ctrl-V, а затем порадуйтесь и удивитесь, почему Windows сегодня не работает так. На этом этапе вам может потребоваться устройство, если вы хотите, чтобы «Копировать при выборе» происходило автоматически в разделе «Поведение». Это сэкономит вам Control-C, если хотите.
  • Теперь о тонкостях. В разделе «Вкладки» вы (если вы меня) хотите две вкладки по умолчанию, одну для CMD.EXE и одну для PowerShell, потому что вам не нравится, когда ваш горошек и морковь касаются вашей тарелки.
    • Установите первую вкладку Console | cmd.exe на эту оболочку, если вы хотите, чтобы это была командная строка Visual Studio. Помните о PATH, если вы не используете x64, как я.
    • Затем создайте еще одну вкладку под названием PowerShell с этим путем:
      • % SystemRoot% \ syswow64 \ WindowsPowerShell \ v1.0 \ powershell.exe
      • И я использовал значок vspowershell.ico, потому что я в чутье.

У вас будет хорошая опция «Новая вкладка», где вы можете сделать одну из любой оболочки.Обратите внимание на общую привлекательность этой сдержанной оболочки. Я могу открыть новую вкладку с помощью Ctrl-T (или нескольких) и использовать Ctrl-Tab для перемещения между ними. Я сделал снимок экрана с фоном, чтобы вы могли видеть прозрачность.

Последняя причина, по которой Console2 крута? Его размер можно изменять в двух направлениях, в отличие от консоли Windows CMD.exe.

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

Ссылки по теме

О Скотте

Скотт Хансельман — бывший профессор, бывший главный архитектор в области финансов, теперь спикер, консультант, отец, диабетик и сотрудник Microsoft. Он неудавшийся комик-стендап, кукурузник и автор книг.

О рассылке новостей

Хостинг от

Список команд консоли

— Сообщество разработчиков Valve

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

Содержание

Команды отсортированы по алфавиту:
А
B
C
D
E
F
грамм
ЧАС
я
J
K
L
M
N
О
п
Q
р
S
Т
U
V
W
Икс
Y
Z

Примечание: Команды с «Да» в «Чит?» столбец требует, чтобы sv_cheats 1 был активен перед работой.

Команды, начинающиеся с буквы «А»

Команда По умолчанию Чит? Текст справки
_fov 0 Автоматизирует команду fov на сервер.
_restart Выключите и перезапустите двигатель.
доп. Добавить IP-адрес в список запрещенных.
adsp_alley_min 122 Нет
adsp_courtyard_min 126 Нет
adsp_debug 0 Нет
adsp_door_height 112 Нет
adsp_duct_min 106 Нет
adsp_hall_min 110 Нет
adsp_low_ceiling 108 Нет
adsp_opencourtyard_min 126 Нет
adsp_openspace_min 130 Нет
adsp_openstreet_min 118 Нет
adsp_openwall_min 130 Нет
adsp_room_min 102 Нет
adsp_street_min 118 Нет
adsp_tunnel_min 114 Нет
adsp_wall_height 128 Нет
ai_actbusy_search_time 10 Нет
ai_ally_manager_debug 0 Нет
ai_auto_contact_solver 1 Нет
ai_citizen_debug_commander 1 Нет
ai_clear_bad_links Удаляет биты, установленные для навигационных ссылок, указывая на то, что ссылка непригодна.
ai_debug_actbusy 0 Есть Используется для отладки поведения при занятости.Применение:

1
Постоянно проводите линии от NPC к занятым узлам, которые они выбрали для работы.
2
Каждый раз, когда NPC принимает решение использовать actbusy, покажите, какой actbusy они выбрали.
3
Выбранные NPC (с npc_select) сообщат, почему они не выбирают узлы actbusy.
4
Отображение отладочного вывода логики actbusy.
ai_debug_assault 0 Нет
ai_debug_directnavprobe 0 Нет
ai_debug_doors 0 Нет
ai_debug_efficiency 0 Нет
ai_debug_enemies 0 Нет
ai_debug_expressions 0 Показать случайные решения выражения для NPC.
ai_debug_follow 0 Нет
ai_debug_loners 0 Нет
ai_debug_looktargets 0 Нет
ai_debug_los 0 Есть Указывает, что блокирует (или может блокировать) линию прямой видимости NPC.
ai_debug_nav 0 Нет
ai_debug_node_connect Отладка попытки соединения между двумя узлами
ai_debug_ragdoll_magnets 0 Нет
ai_debug_readiness 0 Нет
ai_debug_shoot_positions 0 Нет
ai_debug_speech 0 Нет
ai_debug_squads 0 Нет
ai_debug_think_ticks 0 Нет
ai_debugscriptconditions 0 Нет
ai_disable Обходит все логические подпрограммы ИИ и помещает всех NPC в их бездействующие анимации.Может использоваться, чтобы убрать NPC с вашего пути и t

Консольные команды — CK3 Wiki

Список форумов
В тренде
Самый последний
Новые сообщения

Парадокс

хранить
Моды
Форум
Пусковая установка
PDXCON 2019

Парадокс вики

CK3 вики

Активные вики

AoW: Planetfall
Города: горизонты
Короли крестоносцев 3
Короли крестоносцев 2
Europa Universalis 4
Сердца Железа 4
Император: Рим
Тюремный архитектор
Stellaris
Выживание на Марсе
Пережить последствия

Наследие вики

Арсенал демократии
Европа Универсалис 2
Europa Universalis 3

Список консольных команд CS: GO | Всего CS: GO

bot_add bot_add [T / CT] [Сложность] [Имя] Эта команда добавляет бота в вашу текущую игру.Если вы укажете команду (T или CT), бот будет добавлен в эту команду. Вы также можете при желании указать сложность и имя (если есть существующий профиль).
bot_add_ct bot_add_ct [Сложность] [Имя] Эта консольная команда добавляет бота на сторону CT. Если бот появится мертвым, он возродится в начале следующего раунда. При желании вы можете указать сложность и имя (если есть профиль).
bot_add_t bot_add_t [Сложность] [Имя] Эта команда добавляет бота на сторону T.Если бот появится мертвым, он возродится в начале следующего раунда. При желании вы можете указать сложность и имя (если есть профиль).
cl_crosshairgap cl_crosshairgap [Gap] Эта консольная команда отрегулирует размер зазора в середине вашего прицела. Чем меньше значение, тем меньше зазор.
cl_crosshairsize cl_crosshairsize [Размер] Эта команда управляет длиной и размером из 4 линий, составляющих стандартное перекрестие.Использование низкого значения приведет к очень слабым линиям прицела, а использование большого значения приведет к появлению очень длинных линий прицела.
cl_crosshairstyle cl_crosshairstyle [Стиль] Эта команда устанавливает стиль вашего прицела, например его общую форму, а также то, будет ли оно открываться при перемещении вашего персонажа.
cl_crosshairthickness cl_crosshairthickness [Толщина] Эта консольная команда настраивает толщину вашего прицела в игре.
cl_hud_color cl_hud_color [Цвет HUD] Это консольная команда, используемая для изменения и настройки цвета вашего HUD (отображение заголовка). Его можно изменить на различные цвета, для которых мы привели примеры.
cl_hud_playercount_showcount cl_hud_playercount_showcount [0/1] Эта полезная консольная команда настраивает ваш HUD, изменяя отображение живых игроков в каждой команде от отображения каждого из их аватаров Steam до , просто показывая количество каждого команда жива .
cl_hud_radar_scale cl_hud_radar_scale [Масштаб радара] Эта полезная консольная команда контролирует, сколько места в вашем HUD занимает ваш радар. Вы можете сделать его меньше или больше, чем значение по умолчанию.
cl_radar_scale cl_radar_scale [Масштаб радара] Эта команда регулирует масштаб вашего радара, который влияет на то, как увеличивает или уменьшает масштаб радара, это . Многие игроки используют эту команду, чтобы уменьшить масштаб радара и получить полный обзор карты.
cl_righthand cl_righthand [0/1] Это команда, которая перемещает ваше оружие в левую руку, также известная как команда переключения руки. Ваш пистолет и другое оружие будут находиться в левой части экрана, что некоторые предпочитают.
cl_showfps cl_showfps [0/1] Эта команда производит простой подсчет FPS (кадров в секунду) в верхнем левом углу экрана. В отличие от команды net_graph, отображается только значение FPS, что нравится некоторым игрокам за его простоту.
demo_pause demo_pause Эта полезная консольная команда используется для приостановки демонстрации, которую вы смотрите. Воспроизведение можно возобновить с помощью команды demo_resume.
demo_resume demo_resume Эта полезная команда используется для возобновления демонстрации, которую вы смотрите, если вы ранее приостановили ее. Чтобы приостановить демонстрации, используйте команду demo_pause.
demo_timescale demo_timescale [Скорость воспроизведения] Эта команда устанавливает, как быстро воспроизводится демонстрация.Другими словами, его можно использовать для перемотки вперед через раунды, которые вам не интересны.
demo_togglepause demo_togglepause Используйте эту команду при просмотре демонстраций для переключения между приостановкой и отключением. Хорошая вещь в этой команде заключается в том, что она будет приостанавливать или воспроизводить демонстрацию, в зависимости от того, запущена ли она при вводе команды.
game_mode game_mode [Режим игры] Эту команду можно использовать вместе с командой game_type для изменения типа игры, в которую вы играете (казуальная игра, бой на смерть и т. Д.).См. Информацию об аргументах для получения помощи.
game_type game_type [Тип игры] Эта команда может использоваться с командой game_mode для изменения игры, в которую вы играете (например, гонка вооружений, соревнование и т. Д.). См. Информацию об аргументах для комбинаций и справки.
дать дать [Код оружия] Эта команда даст вам предмет с указанным кодом предмета. Найдите коды предметов в нашем списке команд.
painter hurme [Повреждение] Эта команда нанесет вашему персонажу определенное количество повреждений (1 = 1HP).
mp_ignore_round_win_conditions mp_ignore_round_win_conditions [0/1] Эта команда может использоваться для включения и отключения условий выигрыша в раунде. Если условия победы в раунде отключены (игнорируются), то условия, которые обычно приводят к завершению раунда (например, взрыв бомбы, уничтожение команды), больше не будут завершать раунд — раунд будет длиться вечно, пока не закончится вручную. По умолчанию эта команда отключена (это означает, что условия выигрыша не игнорируются).
mp_warmup_end mp_warmup_end Эта команда завершает разминку.
noclip noclip Эта команда переключает noclip для вашего игрока. Находясь в режиме noclip, вы можете летать и проходить сквозь твердые объекты, например стены.
сказать сказать [Сообщение] Эта команда заставит вас произнести указанное сообщение в чате.
say_team say_team [Сообщение] Эта команда заставит вас произнести указанное сообщение в командном чате.
чувствительность чувствительность [Чувствительность] Эта команда устанавливает чувствительность мыши на указанное значение.
unbind unbind [Key] Эта команда удаляет любую привязку, привязанную к указанному ключу.
viewmodel_fov viewmodel_fov [FOV] Эта команда устанавливает FOV вашего клиента на указанное число. С помощью этой команды вы можете установить для вашего FOV максимум 68.Поле обзора по умолчанию — 60.
viewmodel_offset_x viewmodel_offset_x [X Offset] Эта команда устанавливает смещение по оси X вашей модели представления, то есть насколько оно слева или справа. Ваша модель обзора — это ваша рука (и пистолет в ней), которая отображается в режиме от первого лица. Максимальное значение — 2,5, минимальное — -2,5.
viewmodel_offset_y viewmodel_offset_y [Смещение по Y] Эта команда устанавливает смещение по оси Y вашей модели просмотра — i.е. насколько близко или далеко от вашего персонажа. Ваша модель обзора — это ваша рука (и пистолет в ней), которая отображается в режиме от первого лица. Максимальное значение — 2, минимальное — -2.
viewmodel_offset_z viewmodel_offset_z [Смещение по Z] Эта команда устанавливает смещение по оси Z вашей модели представления, то есть насколько оно вверх или вниз. Ваша модель обзора — это ваша рука (и пистолет в ней), которая отображается в режиме от первого лица. Максимальное значение — 2, минимальное — -2.
voice_enable voice_enable [0/1] Эта команда устанавливает, включена ли голосовая связь для вашего клиента. Установка этого значения на 0 отключит голос. По умолчанию 1 (включен).
bind bind [Bind Key] [«Bind Command»] Эта команда привяжет команду или список команд к клавише на клавиатуре или кнопке мыши. Привязки могут сделать вашу игру в CS: GO намного удобнее, и это очень важная команда в игре.
bind_osx bind_osx [Bind Key] [«Bind Command»] Эта команда привяжет команду или список команд к клавише на клавиатуре или кнопке мыши. Эта команда предназначена для OS X (Mac).
bot_difficulty bot_difficulty [Сложность] Эта консольная команда устанавливает сложность любых ботов, которые вы добавляете на частный сервер. Установите 0 для простых ботов, 1 для обычных ботов, 2 для сложных ботов и 3 для опытных ботов.
bot_quota bot_quota [Количество] Эта команда регулирует максимальное количество ботов, которое может быть на вашем сервере. Значение по умолчанию — 10.
cl_crosshair_drawoutline cl_crosshair_drawoutline [0/1] Эту консольную команду можно использовать для включения и отключения маленького черного контура вокруг вашего перекрестия. Это может улучшить видимость прицела для некоторых игроков.
cl_crosshair_outlinethickness cl_crosshair_outlinethickness [Толщина] Эта полезная консольная команда регулирует толщину контура прицела.Это важная команда, которую нужно настроить, чтобы ваша цель была настолько хорошей, насколько это возможно.
cl_crosshaircolor cl_crosshaircolor [Цвет] Эта консольная команда устанавливает цвет, в котором отображается ваше перекрестие. Вы можете установить значение от 0 до 4.
cl_draw_only_deathnotices cl_draw_only_deathnotices [0/1] Эта консольная команда особенно полезна для создателей фрагментов CS: GO, поскольку она сокращает пользовательский интерфейс, чтобы включить только перекрестие и корм для убийств.Это две вещи, которые необходимы в видео.
cl_radar_always_centered cl_radar_always_centered [0/1] Эта команда определяет, всегда ли ваш радар центрирован относительно вашего местоположения. Отключение этой функции может быть полезно, поскольку, когда вы находитесь на краю карты, меньшее пространство радара занимает пустое пространство, что означает, что вы можете более четко видеть свое окружение.
cl_radar_rotate cl_radar_rotate [0/1] Эта команда переключает, вращается ли ваш радар, когда вы вращаетесь и смотрите вокруг с помощью камеры.Некоторые игроки считают, что отключение этой функции упрощает использование радара.
joy_inverty joy_inverty [0/1] Эта консольная команда используется для установки того, хотите ли вы инвертировать ось Y для просмотра на джойстике. Когда эта команда включена, перемещение джойстика вверх или вперед заставит вашего персонажа смотреть вниз.
joy_movement_stick joy_movement_stick [0/1/2] Эта консольная команда используется для определения того, какой джойстик на джойстике управляет движением вашей модели игрока.
key_listboundkeys key_listboundkeys Эта консольная команда перечисляет всех имеющихся у вас клавиш и кнопок, с которыми связано определенное действие (например, клавиша пробела должна прыгать).
sv_infinite_ammo sv_infinite_ammo [0/1/2] Эта команда, если установлена ​​в 1, даст вам бесконечное количество боеприпасов для вашего оружия, что позволит вам вести огонь непрерывно. Если вы установите для этой команды значение 2, у вас будет бесконечное количество патронов для перезарядки, но у вас все равно закончатся патроны после выстрела всех пуль в обойме вашего оружия.
cl_autowepswitch cl_autowepswitch [0/1] Эта команда изменяет, используете ли вы автоматически только что поднятое оружие или нет.
cl_color cl_color [Значение цвета] Эта полезная команда устанавливает ваши предпочтения в отношении того, какой цвет вам нравится при подборе игроков. Этот цвет отображается на радаре и на аватаре Steam, когда вы находитесь в лобби.
cl_crosshairalpha cl_crosshairalpha [Альфа-значение] Эта команда устанавливает степень прозрачности вашего перекрестия на экране.Чем ниже значение, тем менее заметным будет ваше перекрестие.
cl_hud_playercount_pos cl_hud_playercount_pos [0/1] Используйте эту команду, чтобы настроить, где отображается меню счетчика игроков (игроков, находящихся на сервере) на вашем HUD. Это также меняет положение табло, которое показывает раунды, выигранные каждой командой . Вы можете разместить его вверху экрана или внизу.
cl_pitchdown cl_pitchdown [Градусы] Эта забавная команда контролирует, на сколько градусов вниз от уровня глаз вы можете переместить камеру.Это означает, что вы можете отредактировать эту команду, чтобы вы могли смотреть под себя, эффективно просматривая ноги модели вашего персонажа на то, что находится позади вас.
cl_pitchup cl_pitchup [Градусы] Эта забавная консольная команда определяет, на сколько градусов от уровня глаз вы можете смотреть в небо. Это можно отрегулировать, чтобы вы могли смотреть так далеко вокруг, что в конечном итоге вы видели позади себя.
cl_radar_icon_scale_min cl_radar_icon_scale_min [Масштаб значка] Эта консольная команда изменяет размер точки вашего символа на радаре.
cl_showpos cl_showpos [0/1] Эта команда покажет вам значения того, где именно на карте вы находитесь. По умолчанию он будет отображаться в верхнем левом углу экрана. Он также показывает вашу скорость (скорость бега).
очистить очистить Эта консольная команда очищает все предыдущие записи и данные из консоли разработчика. Рекомендуется делать это время от времени, чтобы консоль была более читабельной.
inferno_damage inferno_damage [Урон в секунду] Эта забавная консольная команда используется для изменения количества урона, наносимого Молотовым и зажигательными гранатами .Когда читы активированы, вы можете установить это значение как невероятно высоким или невероятно низким.
inferno_flame_lifetime inferno_flame_lifetime [Burn Time] Эта консольная команда изменяет продолжительность горения огня от молотова и зажигательных гранат. Это позволяет продлить их действие на мгновение или на длительный период времени.
inferno_max_range inferno_max_range [Диапазон] Эта команда устанавливает максимальное расстояние, на которое пламя от молотова или зажигательной гранаты может распространиться от начальной точки удара о землю.
jpeg jpeg [Имя файла] Эта команда используется для создания снимка экрана. Вы можете указать имя файла в команде.
карта карта [Код карты] Используйте эту консольную команду, чтобы мгновенно изменить карту, которую вы сейчас играете, на другую карту.
mp_afterroundmoney mp_afterroundmoney [Сумма] Эта команда устанавливает сумму денег, которая присуждается каждому игроку каждой команды в конце каждого раунда, независимо от победы / поражения.По умолчанию 0 (бонус за победу / поражение устанавливается другой командой).
mp_autokick mp_autokick [0/1] Эта команда устанавливает, должна ли быть включена функция автоматического удара. Функция автоматического удара пинает людей за бездействие (AFK) и повреждение команды. По умолчанию 1 (включен).
mp_autoteambalance mp_autoteambalance [0/1] Эта команда может использоваться для включения или отключения функции автоматического баланса команды.Эта функция поменяет игроков между командами в конце раунда, если в любой момент времени будет неравное количество игроков (например, если в команде A есть 1 игрок, а в команде B — 3, в конце раунда 1 игрок из команды B. будет автоматически переведен в команду A).
net_graph net_graph [0/1/2/3] Эта команда включает (устанавливается в 1) и отключает (устанавливается в 0) отображение сетевого графика, который показывает пинг, FPS и другие переменные клиента.
notarget notarget Эта команда переключает, знают ли боты о вашем игроке.Когда это включено, боты не будут атаковать вас (или даже реагировать на вас).
sv_grenade_trajectory sv_grenade_trajectory [0/1] Эта команда, если включена (1), показывает траекторию гранат (в виде цветных линий). По умолчанию 0 (отключено).
viewmodel_presetpos viewmodel_presetpos [1/2/3] Эта команда установит смещения вашей модели просмотра X / Y / Z на предустановленную конфигурацию. См. Информацию об аргументах для получения помощи.
-cl_show_team_equipment -cl_show_team_equipment Эта команда отключает эффект + cl_show_team_equipment, который постоянно помещает имена / экипировку членов вашей команды над их головой.
+ cl_show_team_equipment + cl_show_team_equipment Эта команда постоянно помещает имена ваших товарищей по команде и оборудование, которое они несут над их головами (обычно отображается только в начале раунда).Используйте -cl_show_team_equipment, чтобы отключить.
mp_drop_knife_enable mp_drop_knife_enable [0/1] Эта команда позволяет игрокам бросать ножи.
sv_autobunnyhopping sv_autobunnyhopping [0/1] Эта команда, если установлена ​​в 1, автоматически заставит вас прыгать кроликом, удерживая клавишу пробела. По умолчанию отключено (1).
snd_mvp_volume snd_mvp_volume [Volume] Эта полезная консольная команда устанавливает продолжительность музыки MVP, когда игрок с комплектом MVP выигрывает награду MVP в этом раунде.
sv_ledge_mantle_helper sv_ledge_mantle_helper [0/1/2] Эта консольная команда, когда она включена, упрощает прыжок с приседа в окна или выступы.
sv_prime_accounts_only sv_prime_accounts_only [0/1] Если эта команда установлена ​​в 1, то только основные учетные записи могут подключаться к серверу. По умолчанию на большинстве серверов 0 (это означает, что могут подключаться неосновные игроки).
BindToggle BindToggle [Bind Key] [«Bind Command»] Эта команда назначает горячую клавишу (клавишу на клавиатуре или кнопку мыши) для переключения между различными значениями, которые имеет указанная консольная команда (когда нажал или щелкнул).Это полезно для настройки привязок, которые включают определенную функцию. Например, для voice_enable можно переключаться между 0 и 1 (отключено и включено).
cl_autobuy cl_autobuy [Коды оружия] Эта команда используется для настройки ваших предпочтений автоматической покупки, то есть вы можете приобретать самое важное снаряжение в каждом раунде, просто набирая «autobuy» в консоли, как только это будет настроено.
cl_crosshaircolor_b cl_crosshaircolor_b [Значение синего] Эта консольная команда позволяет вам установить цвет вашего перекрестия с деталями, регулируя его уровень синего.Та же самая команда существует для красного и зеленого.
cl_crosshaircolor_g cl_crosshaircolor_g [Зеленое значение] Эта консольная команда позволяет вам установить цвет вашего перекрестия с деталями, регулируя его уровень зеленого. Та же самая команда существует для красного и синего.
cl_crosshaircolor_r cl_crosshaircolor_r [Значение красного] Эта консольная команда позволяет вам установить цвет вашего перекрестия с деталями, регулируя его уровень красного.Та же самая команда существует для зеленого и синего.
cl_crosshairgap_useweaponvalue cl_crosshairgap_useweaponvalue [0/1] При активации эта команда динамически регулирует размер вашего прицела в зависимости от того, какое оружие вы использовали в данный момент.
cl_disablehtmlmotd cl_disablehtmlmotd [0/1] Эту команду можно использовать для отключения HTML «сообщений дня» (MOTD) в клиенте (задав для него значение 1).HTML MOTD — это веб-страницы / текст, который появляется, когда вы присоединяетесь к серверу, иногда они воспроизводят громкую или громкую рекламу. По умолчанию 0, что делает HTML MOTD включенными.
cl_forwardspeed cl_forwardspeed [Скорость] Эта команда консоли перемещения используется для установки скорости, с которой вы бежите, когда движется вперед .
cl_hideserverip cl_hideserverip [0/1] Эта консольная команда используется для скрытия IP-адреса вашего сервера в вашей консоли.Это особенно полезно, если вы ведете потоковую передачу и не хотите, чтобы зрители могли уловить ваш IP-адрес, что дает им возможность DDoS-атаки на сервер.
cl_hud_healthammo_style cl_hud_healthammo_style [0/1] Эта команда используется для переключения между тем, хотите ли вы, чтобы полоски здоровья и брони внизу экрана отображали их числовое значение (например, 80 здоровья) и полоса, чтобы представить это, или просто показать число.
cl_idealpitchscale cl_idealpitchscale [Pitch Value] Эта консольная команда регулирует высоту звука в игре и может вызывать звук выстрела, отличный от обычного.
cl_rebuy cl_rebuy [Порядок предметов] Эта консольная команда устанавливает порядок, в котором игровой клиент повторно покупает ваше снаряжение. Его можно настроить, чтобы отдать приоритет другим покупкам, таким как комплекты обезвреживания, гранаты и многое другое.
cl_sidespeed cl_sidespeed [Скорость] Эта команда консоли движения устанавливает, насколько быстро вы можете двигаться при беге боком.
inferno_friendly_fire_duration inferno_friendly_fire_duration [Продолжительность] Эта команда устанавливает, через сколько времени после того, как вы повредили товарища по команде молотовым или зажигательной гранатой, сервер сообщает вам, что вы повредили кого-то из своей команды.
inferno_scorch_decals inferno_scorch_decals [0/1] Вы можете использовать эту консольную команду, чтобы не дать меткам Молотова и зажигательным гранатам, брошенным вами, оставить на земле опаленные декали (следы ожога) после их сгорания.
listissues listissues Эта полезная консольная команда создает в консоли разработчика список из различных вещей, за которые вы можете проголосовать на своем сервере . Это включает в себя голосование за изменение карты и голосование за исключение игрока.
m_rawinput m_rawinput [0/1] Эта команда включает необработанный ввод с вашей мыши, если установлено значение 1 (по умолчанию). Когда необработанный ввод включен, ввод осуществляется непосредственно с вашей мыши, и настройки вашей операционной системы (например, ускорение, задержка и т. Д.) Не будут задействованы.
mm_dedicated_search_maxping mm_dedicated_search_maxping [Макс. Пинг] Эта консольная команда используется для установки максимального предпочтительного пинга при подключении к серверам подбора игроков.Может быть полезно настроить эту команду, если вы обнаружите, что вас помещают на отстающие серверы.
mp_buy_allow_grenades mp_buy_allow_grenades [0/1] Эта команда устанавливает, могут ли игроки приобрести любую форму гранаты из меню покупки. По умолчанию 1 (включен).
mp_buy_anywhere mp_buy_anywhere [0/1/2/3] Эта команда может использоваться, чтобы установить, могут ли игроки получить доступ к меню покупки, когда они находятся вне зоны покупки.Обратите внимание, что они по-прежнему должны быть в пределах периода времени покупки — вы можете изменить период времени покупки с помощью mp_buytime.
mp_buy_during_immunity mp_buy_during_immunity [0/1/2/3] Эта команда позволяет игрокам покупать, когда они невосприимчивы, независимо от текущего времени покупки. Это обычно используется на серверах deathmatch. Смотрите информацию об аргументах для опций. По умолчанию 0 (отключено).
mp_buytime mp_buytime [Секунды] Эта команда устанавливает количество времени (в секундах), которое у игроков есть после начала раунда для покупки предметов.Это период времени ПОСЛЕ обратного отсчета раунда. Таким образом, у игроков есть обратный отсчет в начале раунда (обычно 15 секунд), плюс это время для покупки.
mp_c4timer mp_c4timer [Секунды] Эта команда устанавливает, сколько секунд требуется, чтобы бомба взорвалась после того, как она была заложена террористами. По умолчанию — 40 или 35 секунд, в зависимости от режима игры.
mp_competitive_endofmatch_extra_time mp_competitive_endofmatch_extra_time [секунды] Эта команда устанавливает время (в секундах), которое будет отображаться на табло (или время голосования) после окончания соревновательного матча.По умолчанию 15 секунд.
mp_ct_default_grenades mp_ct_default_grenades [Код (ы) гранаты] Эта команда устанавливает гранаты по умолчанию, с которыми появляются террористы. По умолчанию нет (0). Разделите несколько гранат пробелами.

Консольные команды — Liquipedia Dota 2 Wiki

Переключить навигацию

ликпедия

  • Ликпедия
    Dota 2

      Главная Wikis

      Альфа Wikis

      Pre Альфа Wikis

      Counter-StrikePUBGStarCraft IIRocket LeagueVALORANTOverwatchRainbow SixApex LegendsLeague из LegendsWarcraftBrood WarSmashHearthstoneHeroesArtifactCommonsAge из EmpiresArena из ValorFighting GamesArena FPSClash RoyaleFortniteCall из DutyTeam FortressFree FireWorld из WarcraftFIFAPaladinsTrackManiaPokémonSim RacingRuneterraBrawlstarsTeamfight TacticsCrossfireBattalion 1944Dota UnderlordsAutochessMagicCritical OpsBattleriteWild Рифт

  • В тренде

    • Турниры

      • Ожидаемые
      • China Pro Cup S2
      • EPIC League Div.1
      • Realms Collide 2
      • China Pro Cup S2 Qual.
      • Выполняется
      • ESL Meisterschaft S2
      • FroggedTV League S6
      • Movistar LPG S6 D1
      • EPIC League CQ
      • Realms Collide 2 CQ
      • IeSF WC Southeast Asia Finals
      • Завершено
      • Саммит DOTA 13: AM
      • Саммит DOTA 13: EU CIS
      • Саммит DOTA 13: SEA
      • Perfect World League S1 Div.A
      • ESL One Germany 2020
      • CDA-FDC Pro Championship
      • Moon Studio Mid-Autumn
      • OGA Dota PIT S3: CN
      • China Pro Cup S1
      • BTS Pro Series S3: EU / CIS
      • BTS Pro Series S3: SEA
      • OGA Dota PIT S3: EU / CIS
      • BTS Pro Series S3: AM
      • ESL One Thailand 2020: Азия
      • OMEGA League: EU Immortal

      [редактировать]

    • Предстоящие

      • China Pro Cup S2
      • EPIC League Div.1
      • Realms Collide 2
      • China Pro Cup S2 Qual.
    • На постоянной основе

      • ESL Meisterschaft S2
      • FroggedTV League S6
      • Movistar LPG S6 D1
      • EPIC League CQ
      • Realms Collide 2 CQ
      • IeSF WC Southeast Asia Finals
    • Завершено

      • Саммит DOTA 13: AM
      • Саммит DOTA 13: EU CIS
      • Саммит DOTA 13: SEA
      • Perfect World League S1 Div.A
      • ESL One Germany 2020
      • CDA-FDC Pro Championship
      • Moon Studio Mid-Autumn
      • OGA Dota PIT S3: CN
      • China Pro Cup S1
      • BTS Pro Series S3: EU / CIS
      • BTS Pro Series S3: SEA
      • OGA Dota PIT S3: ЕС / СНГ
      • BTS Pro Series S3: AM
      • ESL One Thailand 2020: Азия
      • OMEGA League: EU Immortal
    • Внести вклад

      • Редактировать статью
      • Создать статью
      • Справочный портал
      • Рекомендации Notability
      • Чат с нами
      • Тема обратной связи
    • Действия

      • Страница

      • Разговаривать

    • доля

      • Twitter

      • Facebook

      • Reddit

      • Tencent QQ

      • ВКонтакте

      • Weibo

      • WhatsApp

    • инструменты

      • Общие
      • Последние изменения
      • Незавершенные изменения
      • Случайная страница
      • Страница потока
      • специальный
      • Какие ссылки здесь
      • Загрузить файл
      • Специальные страницы
      • Версия для печати
      • Информация о странице
      • Просмотр свойств SMW
    • Создать учетную запись
    • Войти
    • Другие вики

      • Brood War
      • StarCraft II
      • Hearthstone
      • Heroes of the Storm
      • Smash
      • Counter-Strike
      • Overwatch
      • Rocket League
      • Rainbow Six
      • Legends
      • Warcraft

        Лига

      • Apex Legends
      • Liquipedia Commons
    • Вернуться наверх

    .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *