Командная строка в Windows 7
С тех самых пор как компьютер стал неотъемлемой частью жизни современного общества, мы привыкли работать в визуальном графическом интерфейсе. Простым языком это – кликать мышкой на картинки, перетаскивать их и т. д. Но на заре компьютерной технологии все было по-другому. Тогда команды машине задавались исключительно в текстовом режиме. Да и сейчас программисты и так называемые продвинутые пользователи могут запросто общаться со своим компьютером с помощью текстовых команд.
Иногда умение пользоваться таким режимом может здорово упростить жизнь, а в некоторых случаях становится просто необходимым. Поэтому в этой статье мы обсудим, что такое командная строка в Windows 7, как открыть эту строку и зачем это может понадобиться.
Переводчик с человеческого языка на компьютерный
Чтобы компьютер мог понимать запросы пользователя, в операционной системе присутствует специальная командная оболочка, где командная строка Windows 7 исполняет роль переводчика. Англоговорящим персонам в этом смысле, конечно, жить легче, так как команды пишутся на чистейшем английском языке. Ну, а остальным придется подучить пару десятков иностранных слов.
Командная строка в Windows 7. Как открыть этот инструмент
Для начала разберемся, как запустить необходимую нам среду для ввода. Открыть командную строку Windows 7 можно несколькими способами.
Для использования первого способа вам придется запомнить простейшую команду – «cmd». Сделать это не сложно. Эти буквы являются компьютерным сокращением от английского слова command, которое весьма созвучно русскому «командная». Применив простейшие примеры мнемоники, получим нужные нам буквы (КоМанДная).
Нажмите на кнопку «Пуск» (значок Windows), которая находится у вас в нижнем левом углу экрана. В открывшемся окне в строке «Найти программы и файлы» (самая нижняя строка) введите команду «cmd». В появившемся списке программ появится нужный значок. Кликнув по нему левой кнопкой мышки, вы сможете запустить командную строку Windows 7.
Следующий способ вызова командной строки тоже начинается с кнопки «Пуск». Но на этот раз можно просто нажать в списке на строку «Все программы» и выбрать папку «Стандартные». Кликнув на папку, вы получите целый ряд программ. Одной из них и будет «Командная строка».
Командная строка в Windows 7. Как открыть, используя стандартное сочетание клавиш
Добиться желаемого результата можно и используя сочетание клавиш «Win» + «R». (Клавиша «Win» располагается на клавиатуре в нижнем ряду, третья слева, с логотипом Windows). Нажав эту комбинацию, вы откроете специальное окно «Выполнить». В предлагаемое поле нужно вписать уже знакомую вам команду «cmd» и нажать клавишу «Enter».
Для чего может понадобиться командная строка
Предположим, вы используете пробный период бесплатного знакомства с операционной системой Windows 7. Он уже подходит к концу, но вы еще полностью не успели понять, стоит ли переводить ее на постоянную основу. Вот тут-то вам и пригодятся знания о работе с командной строкой.
Компания Microsoft предусмотрела абсолютно легальную возможность на дополнительный период (до 120 дней) активировать Windows 7. Командная строка в этом случае понадобится для ввода кода. Задать подобную команду можно только от имени администратора. Эта предосторожность отнюдь не лишняя. Ведь многие специфические изменения в работу компьютера можно ввести, именно используя программу «Командная строка». Администратор Windows 7 должен ясно осознавать, к чему приведут его действия.
Чтобы зайти с правами администратора, вызвав одним из ранее описанных способов программу, кликните по ней правой кнопкой мыши и в открывшемся контекстном меню выберите «Запуск от имени администратора» (в самом верху списка).
После этого в открывшемся окне введите «slmgr.vbs /rearm» (после букв «vbs» должен быть пробел). И подтвердите команду нажатием клавиши «Enter». Перезагрузите компьютер и проверьте срок действия пробной версии. Он должен составлять 30 дней. Эту процедуру можно проводить повторно, но не более трех раз. Так что в сумме вы получите 120 дней на исследование возможностей операционной системы.
Список основных команд
В выполнении множества основных и специфических функций также поможет командная строка в Windows 7. Как открыть нужный каталог или папку и провести с ними необходимые операции, вы узнаете из нижеследующего списка команд. И хотя он далеко не исчерпывающий, но знание этой основы может однажды здорово упростить вам жизнь. Для облегчения восприятия попробуем сгруппировать команды в небольшие блоки.
Команды для работы с отдельными файлами и папками
- При необходимости удалить какой-нибудь файл или же целую группу файлов используется команда «del».
- Для копирования информации в другую папку или каталог применяют команду «copy».
- Чтобы найти в текущем файле (или группе, состоящей из нескольких файлов) заданную текстовую строку, наберите «find».
- Если вам потребовалось сравнение нескольких файлов для обнаружения различия между ними, используйте буквенное сочетание «fc».
- Для перемещения указанных файлов в другую папку наберите «move».
- Чтобы создать новую пустую папку, достаточно дать запрос «md».
- При необходимости папку удалить вместе со всем содержимым безвозвратно используйте «rd».
- Если требуется вывести для печати текстовую или графическую информацию из указанного файла, наберите «print».
- Для полного замещения выбранных файлов задайте команду «replace».
- Чтобы переименовать отдельный файл или папку, введите «ren».
- Чтобы увидеть полный отчет о графической структуре каталогов диска или папки, используйте команду «tree».
- Иногда необходим запуск улучшенного средства копирования файлов и даже полных деревьев каталогов. В этом случае набирайте «robocopy»
- А для простого копирования файлов и деревьев каталогов используется «xcopy».
- Если вы хотите увидеть полное содержимое указанных текстовых файлов на своем экране, отдайте команду «type».
Управление командной строкой
Для непосредственного управления самой командной строкой используется ряд специфических команд. Благодаря им можно позволить себе в некоторой степени индивидуализировать работу с этой программой, изменив некоторые ее параметры.
- Для запуска второй дополнительной копии командной строки введите «cmd». Она откроется в соседнем окне.
- Чтобы полностью очистить экран командной строки, отправьте команду «cls».
- При необходимости изменить само приглашение в данной командной строке, введите «prompt».
- Чтобы назначить оригинальный заголовок для окна на время текущего сеанса, скомандуйте «title».
- Команда «color» позволяет выбрать и установить индивидуальный цвет текста и фон для интерфейса программы.
- Выход из командной строки всегда осуществляется с помощью команды «exit».
Особенности работы с командной строкой в Windows 8
В операционной системе Windows 7 запуск командной строки от имени администратора осуществляется сравнительно просто. Но для того чтобы открыть эту программу в среде ОС Windows 8, необходимо знать некоторые новости и тонкости данной оболочки.
В Windows 8 отсутствует меню «Пуск». Для того чтобы вызвать нужную нам панель, необходимо кликнуть правой кнопкой мыши на любой пустой области рабочего стола. После этого действия внизу экрана появится дополнительная панель, на которой вы найдете значок «Все приложения» (нижний правый угол).
Открываете приложения (кликнув по значку левой кнопкой мыши) и ищете в появившемся перечне значок с надписью «Командная строка» (он будет находиться приблизительно в центральной части панели). Кликаете по этому значку правой кнопкой мыши (если используете левую клавишу, то по умолчанию командная строка откроется от имени текущего пользователя) и в появившейся внизу дополнительной панели управления запуском выбираете вариант «Запуск от имени администратора».
Далее работа в этой программе ничем не отличается от работы в более ранней версии Windows, которую мы рассмотрели выше.
Своевременный помощник
Хотя работа с командной строкой, по общему мнению, является привилегией опытных пользователей, по сути, овладеть этим инструментом может каждый. И неоценимую помощь в обучении сыграет встроенный помощник. Вызывается он очень легко запоминаемой текстовой командой «Help».
Работая с командной строкой, вы в любой момент можете задать команду «Help» — и программа выдаст вам полный список своих возможностей. Для того чтобы получить более детальные сведения о какой-либо конкретно заинтересовавшей вас команде, достаточно ввести запрос в формате «help + имя команды».
Поэтому не бойтесь экспериментировать и расширять свой кругозор. Изучайте возможности собственного компьютера или ноутбука — и в скором будущем вы сможете запросто беседовать на равных с теми, кто получил специализированное образование.
Как включить «Командную строку» в Windows 7
С помощью ввода команд в «Командную строку» в операционных системах семейства Виндовс можно решать разнообразные задачи, в том числе и те, которые через графический интерфейс решить нельзя или сделать это гораздо труднее. Давайте разберемся, как в Windows 7 можно открыть данный инструмент различными способами.
Читайте также: Как активировать «Командную строку» в Виндовс 8
Активация «Командной строки»
Интерфейс «Командной строки» является приложением, которое обеспечивает взаимосвязь между пользователем и ОС в текстовом виде. Исполняемым файлом данной программы является CMD.EXE. В Виндовс 7 существует довольно много способов вызвать указанный инструмент. Давайте узнаем о них подробнее.
Способ 1: окно «Выполнить»
Одним из самых популярных и простых способов вызова «Командной строки» является использование окна
- Вызовите инструмент «Выполнить», набрав на клавиатуре Win+R. В поле открывшегося окна введите:
cmd.exe
Жмите «OK».
- Происходит запуск «Командной строки».
Главными недостатками данного способа является то, что далеко не все пользователи привыкли держать в памяти различные сочетания горячих клавиш и команды запуска, а также тот факт, что подобным образом нельзя произвести активацию от лица администратора.
Способ 2: меню «Пуск»
Обе эти проблемы решаются путем запуска через меню «Пуск». Используя данный способ, не обязательно держать в голове различные комбинации и команды, а также можно произвести запуск интересующей нас программы от лица администратора.
- Жмите «Пуск». В меню перейдите по наименованию «Все программы».
- В перечне приложений щелкните по папке «Стандартные».
- Открывается список приложений. В нем присутствует наименование «Командная строка». Если вы хотите её запустить в обычном режиме, то, как всегда, кликайте по данному названию двойным нажатием левой кнопки мыши (ЛКМ).
Если же вы желаете активировать этот инструмент от лица администратора, то нажмите по наименованию правой кнопкой мышки (ПКМ). В списке остановите выбор на «Запуск от имени администратора».
- Приложение будет запущено от лица администратора.
Способ 3: использование поиска
Нужное нам приложение, в том числе и от лица администратора, можно активировать также при помощи поиска.
- Жмите «Пуск». В поле «Найти программы и файлы» вводите на свое усмотрение либо:
cmd
Либо вбейте:
Командная строка
При вводе данных выражений в результатах выдачи в блоке «Программы» появится соответственно наименование «cmd.exe» или «Командная строка». Причем поисковый запрос даже не обязательно полностью вводить. Уже после частичного введения запроса (например, «команд») в выдаче отобразится нужный объект. Щелкните по его наименованию для запуска желаемого инструмента.
Если же вы желаете произвести активацию от лица администратора, то произведите щелчок по результату выдачи ПКМ. В открывшемся меню остановите выбор на «Запуск от имени администратора».
- Приложение будет запущено в том режиме, который вы выбрали.
Способ 4: прямой запуск исполняемого файла
Как вы помните, мы говорили о том, что запуск интерфейса «Командной строки» производится с помощью исполняемого файла CMD.EXE. Из этого можно сделать вывод, что программу существует возможность запустить путем активации данного файла, перейдя в директорию его расположения с помощью Проводника Виндовс.
- Относительный путь к папке, где находится файл CMD.EXE выглядит следующим образом:
%windir%\system32
Учитывая то, что в подавляющем большинстве случаев Windows устанавливается на диске
C:\Windows\System32
Откройте Проводник Виндовс и введите в его адресную строку любой из этих двух путей. После этого выделите адрес и щелкните Enter или нажмите на иконку в виде стрелки справа от поля введения адреса.
- Открывается директория расположения файла. Ищем в ней объект под названием «CMD.EXE». Чтобы поиск было выполнять удобнее, так как файлов довольно много, можно кликнуть по наименованию поля «Имя» в верхней части окна. После этого элементы выстроятся в алфавитном порядке. Для инициирования процедуры запуска щелкаем дважды левой кнопкой мышки по найденному файлу CMD.EXE.
Если же приложение следует активировать от лица администратора, то, как всегда, делаем щелчок по файлу ПКМ и выбираем
- Интересующий нас инструмент запущен.
При этом совсем не обязательно для перехода в Проводнике в директорию размещения CMD.EXE использовать именно адресную строку. Перемещение можно также производить при помощи навигационного меню расположенного в Виндовс 7 в левой части окна, но, конечно, с учетом того адреса, который был указан выше.
Способ 5: адресная строка Проводника
- Можно поступить ещё проще, вбив в адресную строку запущенного проводника полный путь к файлу CMD.EXE:
%windir%\system32\cmd.exe
Или
C:\Windows\System32\cmd.exe
Выделив введенное выражение, щелкните Enter или нажмите на стрелку справа от адресной строки.
- Программа будет запущена.
Таким образом, даже не придется в Проводнике искать CMD.EXE. Но главный недостаток заключается в том, что указанный способ не предусматривает активацию от лица администратора.
Способ 6: запуск для конкретной папки
Существует довольно интересный вариант активации «Командной строки» для конкретной папки, но, к сожалению, большинство пользователей о нем не знает.
- Перейдите к папке в Проводнике, к которой нужно применить «Командную строку». Щелкните по ней правой кнопкой мыши, одновременно зажав клавишу
- Запустится «Командная строка», причем относительно того каталога, который вы выбрали.
Способ 7: формирование ярлыка
Существует вариант активировать «Командную строку», предварительно сформировав на рабочем столе ярлык, ссылающийся на CMD.EXE.
- Кликните ПКМ по любому месту на рабочем столе. В контекстном перечне остановите выбор на «Создать». В дополнительном списке перейдите по «Ярлык».
- Запускается окно создания ярлыка. Жмите по кнопке «Обзор…», чтобы указать путь к исполняемому файлу.
- Открывается небольшое окошко, где следует перейти в директорию размещения CMD.EXE по тому адресу, который был уже оговорен ранее. Требуется выделить CMD.EXE и нажать «OK».
- После того, как адрес объекта отобразился в окне создания ярлыка, щелкните «Далее».
- В поле следующего окна присваивается имя ярлыку. По умолчанию оно соответствует названию выбранного файла, то есть, в нашем случае «cmd.exe». Данное название можно оставить, как есть, но можно и изменить его, вбив любое иное. Главное, чтобы взглянув на это наименование, вы понимали, за запуск чего именно данный ярлык отвечает. Например, можно ввести выражение «Командная строка». После того, как наименование введено, жмите «Готово».
- Ярлык будет сформирован и отображен на рабочем столе. Для запуска инструмента достаточно дважды кликнуть по нему ЛКМ.
Если вы желаете произвести активацию от лица администратора, то следует нажать на ярлык ПКМ и в перечне выбрать «Запуск от имени администратора».
Как видим, для активации «Командной строки» посредством ярлыка придется один раз немного повозиться, но зато в дальнейшем, когда ярлык уже создан, данный вариант активации файла CMD.EXE будет самый быстрый и легкий из всех вышеперечисленных способов. При этом он позволит запускать инструмент, как в обычном режиме, так и от лица администратора.
Существует довольно много вариантов запуска «Командной строки» в Виндовс 7. Одни из них поддерживают активацию от имени администратора, а другие — нет. Кроме того, существует возможность запуска данного инструмента для конкретной папки. Наиболее оптимальным вариантом, чтобы всегда иметь возможность быстро запустить CMD.EXE, в том числе и от лица администратора, является создание ярлыка на рабочем столе.
Мы рады, что смогли помочь Вам в решении проблемы.Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТКак открыть командную строку в Windows 7
Командная строка это текстовый интерфейс для управления операционной системой. Во многих ситуациях командная строка позволяет выполнять действия с системой намного быстрее, чем при помощи графического интерфейса. Более того, в некоторых случаях командная строка просто не заменима. Например, такие популярные утилиты как Ping или Ipconfig запускаются только в командной строке. В данном материале мы расскажем о том, как открыть командную строку в Windows 7.
Способ № 1. Открываем командную строку через меню Пуск.
С помощью меню Пуск можно запустить любую программу и командная строка не исключения. Откройте меню Пуск и перейдите в раздел «Все программы – Стандартные». В открывшемся списке программ найдите программу «Командная строка» и кликните по ней.
Кроме этого вы можете использовать строку поиска, которая находится в меню Пуск. Для этого откройте меню Пуск и в строку поиска введите «Командная строка».
После этого операционная система найдет командную строку и отобразит ее в результатах поиска.
Способ № 2. Открываем командную строку в Windows 7 с помощью меню «Выполнить».
Меню «Выполнить» это еще один популярный способ открытия командной строки в Windows 7. Для того чтобы воспользоваться данным способом вам необходимо нажать комбинацию клавиш Windows+R и открывшемся окне ввести команду «CMD».
После ввода данной команды в нажатия на кнопку ввода перед вами откроется командная строка Windows 7.
Способ № 3. Создаем ярлык для открытия командной строки.
Если вам необходимо регулярно использовать командную строку, то вы можете создать ярлык на рабочем столе. Для этого щелкните правой кнопкой мышки по рабочему столе и выберите пункт «Создать – Ярлык». В открывшемся окне введите команду «CMD» и нажмите на кнопку «Далее».
После этого введите название ярлыка и снова нажмите на кнопку «Готово».
Все, после этих действий на рабочем столе появится ярлык для открытия командной строки. С помощью данного ярлыка вы сможете открыть командную строку точно также как и все остальные программы.
При необходимости ярлыку можно задать комбинацию клавиш, при нажатии которой программа будет открываться автоматически. Для этого откройте свойства ярлыка командной строки и поставьте курсор в поле напротив пункта «Быстрый вызов».
После этого нажмите на любую кнопку. Для примера нажмем на кнопку с английской буковой «C».
В результате ярлыку будет присвоена комбинация клавиш Ctrl+Alt+C. Чтобы сохранить изменения закройте окно со свойствами ярлыка простым нажатием на кнопку «Ok». Теперь при использовании комбинации Ctrl+Alt+C командная строка Windows 7 будет открываться автоматически.
Посмотрите также
Запуск командной строки в Windows 7
Запуск командной строки в Windows 7
Командная строка Windows 7 представляет собой одну из возможностей Windows, обеспечивающую ввод команд MS-DOS и других компьютерных команд. Важность этой командной строки состоит в том, что она позволяет выполнять задачи без помощи графического интерфейса Windows. Обычно командная строка используется только опытными пользователями.
При работе с командной строкой сам термин командная строка обозначает также и закрывающую угловую скобку (>). Это указывает на то, что интерфейс командной строки может принимать команды.
Текущий рабочий каталог, где будет выполняться данная команда, может быть указан в командной строке. Например, если при открытии окна командной строки в этой строке отображается текст «C:\>» и мигающий курсор справа от угловой скобки (>) — то, это означает, что введенная команда будет выполняться на диске С данного компьютера.
Запуск командной строки в Windows 7
Для запуска командной строки есть несколько способов. Рассмотрим запуск Командной строки из под учетной записи текущего пользователя:
- Нажмите Win+R (Пуск — Выполнить), введите команду cmd и нажмите Оk
- Откройте: меню Пуск — Стандартные — Командная строка
Как видим запуск командной строки с правами текущего пользователя выполнен! Чтобы просмотреть список часто используемых команд, в командной строке введите help и нажмите клавишу ВВОД. Чтобы отобразить дополнительные сведения о каждой из этих команд, введите help имя_команды, где имя_команды — это имя команды, о которой нужно получить дополнительные сведения (Например, help ping).
Новшества cmd в Windows 10 — от себя хочу отметить, что способов открытия командной строки в Windows 10 намного больше и можно выбрать для себя более удобные варианты (читайте лайфхак пройдя по ссылке).
Запуск командной строки от имени администратора
Для выполнения некоторых команд могут потребоваться права администратора. Для запуска командной строки с правами администратора, необходимо сделать следующее:
- Пуск — Все программы — Стандартные — Командная строка, жмем правую клавишу и выбираем «Запуск от имени администратора».
Командная строка в Windows 7. Параметры командной строки. Запуск командной строки
Введение
Командная строка представляет собой одну из возможностей Windows, обеспечивающую ввод команд MS-DOS и других компьютерных команд. Важность этой командной строки состоит в том, что она позволяет выполнять задачи без помощи графического интерфейса Windows. Обычно командная строка используется только опытными пользователями.
При работе с командной строкой сам термин командная строка обозначает также и закрывающую угловую скобку (>, иначе: символ больше). Это указывает на то, что интерфейс командной строки может принимать команды. Другая важная информация, например текущий рабочий каталог (или расположение), где будет выполняться данная команда, может быть также указана в командной строке. Например, если при открытии окна командной строки в этой строке отображается текст «C:\>» и мигающий курсор справа от закрывающей угловой скобки (>), это означает, что введенная команда будет выполняться на всем диске С данного компьютера
Запуск Командной строки
Для запуска командной строки есть несколько способов:
- Запуск Командной строки из под текущего пользователя.
Нажмите Win+R или Пуск — Выполнить. Введите команду cmd и ОК
Как видим запуск Командной строки выполнен из под текущего пользователя.
- Запуск командной строки от имени администратора
Для выполнения некоторых команд могут потребоваться права администратора. Для запуска с правами администратора, необходимо сделать следующее: Пуск — Все программы — Стандартные — Командная строка. Жмем правую клавишу и выбираем Запуск от имени администратора.
Команды
Чтобы просмотреть список часто используемых команд, в командной строке введите help и нажмите клавишу ВВОД
Чтобы отобразить дополнительные сведения о каждой из этих команд, введите help имя_команды, где имя_команды — это имя команды, о которой нужно получить дополнительные сведения, например для команды ATTRIB. Эта команда позволяет просматривать, устанавливать или снимать атрибуты файла или каталога, такие как «Только чтение», «Архивный», «Системный» и «Скрытый». Выполненная без параметров команда attrib выводит атрибуты всех файлов в текущем каталоге
Пример: есть файл Report.txt, который находится на другом диске E, и чтобы задать ему атрибут только чтение, команда должна быть такой
attrib +r report.txt
Где:
- attrib — имя команды
- + — добавление атрибута
- r — имя атрибута «Только чтение»
- report.txt — имя файла
Если команда введена правильно, то после нажатия Enter, вид командной строки должен быть таким
Дополнительно
Дополнительные сведения об определенных командах смотрите в следующих разделах, посвященных справке по командной строке, на веб-сайте корпорации Майкрософт:
http://go.microsoft.com/fwlink/?LinkId=66683
http://go.microsoft.com/fwlink/?LinkId=63080
http://go.microsoft.com/fwlink/?LinkID=95301
Упрощаем запуск приложений в Windows 7 от имени администратора без отключения UAC
9 Способов Как Открыть Командную Строку в Windows 7-10
Командная строка (CMD) в Windows 10
Открыть командную строку можно несколькими способами. Все зависит от того, нужны ли права администратора для осуществления дальнейших действий. Если нет, то проблем с открытием вообще нет. Если же права администратора нужны, то процесс открытия командной строки несколько усложнится.
Содержание этой статьи:
№1. Меню «Пуск»
Читайте также: Основные горячие клавиши в Windows 10: все необходимые комбинации для полноценной работы, а также как отключить и настроить.
Новички должны знать, что использовать командную строку Windows следует с известной долей осторожности. Особенно тщательно нужно проверять команды, которые вводятся в консоль. Одна маленькая ошибка способна привести к весьма печальным последствиям.
Именно этот компонент операционной системы помогает управлять всеми программами и компонентами. Также «Пуск» дает доступ к системным утилитам ОС. А к их числу и относится консоль.
1Итак, открываем меню «Пуск» и щелкаем пункт «Мои программы».
2Теперь ищем каталог «Стандартные» и щелкаем по нему.
3В числе прочего там будет находиться пункт «Командная строка». Щелкаем по нему правой кнопкой мыши и выбираем «Запуск от имени администратора».
Сразу же запустится главное окно консоли. Теперь можно приступать к тонкой настройке операционной системы, так как командная строка загрузилась с правами администратора. А это значит, что можно даже управлять содержимым системного диска.
back to menu ↑№2. Компонент «Выполнить»
Читайте также: Как ускорить Windows 10? ТОП-6 Основных способов разгона операционной системы
Это системное приложение предназначено для быстрого запуска утилит администрирования и прочих нужных компонентов. Нужно только знать, что вводить в поле для команд. Такой способ куда быстрее, чем с помощью меню «Пуск».
1Запустить компонент можно при помощи нажатия сочетания клавиш «Win+R».
2В строке команд вводим «cmd» и нажимаем «ОК» или «Enter» на клавиатуре.
3Сразу же запустится консоль. Даже с правами администратора. Можно приступать к работе.
Такой способ вызова консоли намного быстрее и удобнее предыдущего. Конечно, компонент «Выполнить» можно запустить и при помощи меню «Пуск», но это слишком долго. Гораздо проще воспользоваться горячими клавишами.
back to menu ↑№3. Системный каталог
Читайте также: ТОП-6 Способов как очистить Windows 7-10 от ненужного мусора, просто очистить кэш памяти, удалить обновления и очистить реестр
Этот вариант считается полностью ручным. Пользователь должен найти в одном из системных каталогов исполняемый файл и с его помощью запустить командную строку. Он используется только в том случае, если предыдущие варианты по каким-то причинам не сработали.
1Открываем «Проводник Windows» и щелкаем по иконке системного диска (обычно он обозначается буквой «С»)
2Далее переходим в системный каталог «Windows».
3Теперь ищем папку «SysWOW64» и переходим в нее.
4Необходимо найти исполняемый файл «cmd.exe», щелкнуть по нему правой кнопкой мыши и выпадающем меню выбрать пункт «Запуск от имени администратора».
Такой вариант, конечно, сложнее всех предыдущих, но он является самым эффективным. Если по каким-то причинам невозможно произвести запуск консоли из меню «Пуск» или с помощью «Выполнить», то этот способ выручит всегда.
back to menu ↑№4. Создание ярлыка для последующего запуска
Читайте также: [Инструкция] Как удалить папку «Windows.old» в Windows 10: 4 простых способа
С помощью этого способа можно не только запустить консоль без каких-либо проблем, но и облегчить ее запуск в будущем. Метод заключается в создании ярлыка на рабочем столе компьютера и его последующем использовании.
1Снова открываем «Проводник Windows» и идем по знакомому пути «C:/Windows/SysWOW64».
2Щелкаем правой кнопкой мыши по «cmd.exe» и в меню выбираем «Отправить», «На рабочий стол (создать ярлык)».
3Теперь щелкаем по только что созданному ярлыку снова правой клавишей и выбираем пункт «Свойства». Необходимо щелкнуть кнопку «Дополнительно».
4Отмечаем галочкой пункт «Запуск от имени администратора» и нажимаем «ОК».
Вот и все. Ярлык для запуска настроен. Теперь проблем с вызовом консоли не возникнет никогда. Причем запускаться командная строка будет всегда с правами администратора. Можно свободно настраивать операционную систему.
back to menu ↑№5. Использование системного поиска
Читайте также: 10 способов восстановления Windows через командную строку
Если служба поиска не отключена, то файл запуска командной строки можно найти и с помощью этого компонента операционной системы. Это получится даже быстрее некоторых предыдущих способов.
1Итак, щелкаем по значку поиска в панели задач Windows и начинаем вводить в нужном поле «командная строка».
2Сразу же появится нужное приложение в результатах поиска. Нужно будет только щелкнуть по нему для запуска консоли.
После выполнения этих действий сразу загрузится командная строка. Если же нужно запустить консоль с правами администратора, то требуется просто щелкнуть по результату поиска правой кнопкой мыши и выбрать нужный пункт.
back to menu ↑№6. Контекстное меню
Читайте также: 5 советов по настройке файла подкачки Windows
В Windows 10 при нажатии правой кнопкой мыши на «Пуск» появляется контекстное меню, позволяющее также запустить командную строку. Этот способ также весьма простой. Его используют миллионы юзеров.
Щелкаем правой кнопкой мыши по кнопке «Пуск» и в появившемся меню выбираем пункт «Командная строка (администратор)».
Сразу же запустится консоль со всеми необходимыми правами. Можно приступать к тонкой настройке операционной системы. Если же права администратора не требуются, то в контекстном меню имеется соответствующая опция запуска.
back to menu ↑№7. Используем «Диспетчер задач»
Читайте также: ТОП-15 программ для удаленного управления компьютером
Мало кто знает, но командную строку можно запустить и при помощи этого компонента. Даже с правами администратора. Но для начала нужно вызвать сам «Диспетчер задач». Делается это при помощи сочетания клавиш «Ctrl+Alt+Del» и выбором соответствующего пункта на экране.
1В главном окне диспетчера ищем в самом верху вкладку «Файл», щелкаем по ней и выбираем «Запустить новую задачу».
2Теперь в нужном поле вписываем название процесса (cmd.exe), включаем права администратора (если нужно) и нажимаем кнопку «ОК».
Консоль запустится сразу же. Этот способ идентичен варианту с использованием системного компонента «Выполнить». Принцип тот же. Просто компонент вызывается через «Диспетчер задач».
back to menu ↑№8. Использование «Проводника Windows»
Читайте также: 5 простых и действенных способов как очистить компьютер от вирусов: используем платные и бесплатные программы
Мало кто знает, но консоль можно запустить и при помощи обычного проводника. Такая опция появилась в Windows 10 вместе с модернизацией этого компонента. Все, что нужно – открыть «Проводник» и щелкнуть вкладку «Файл». Там будет опция запуска консоли.
back to menu ↑№9. Использование сочетания «Shift+правая кнопка мыши»
Читайте также: 8 причин зависания Windows: Что делать
Если в «Проводнике Windows» щелкнуть по пустому месту правой кнопкой мыши при зажатой клавише «Shift», то откроется контекстное меню с опцией запуска консоли. Достаточно будет просто выбрать пункт «Открыть окно команд».
back to menu ↑Заключение
Итак, если нужно оперативно запустить командную строку Windows, то для этого есть сразу несколько способов. Они отличаются степенью сложности (хотя они все довольно простые) и количеством необходимых действий.
Самый быстрый метод – с помощью системного компонента «Выполнить». Однако для тех, кто предпочитает работать с меню «Пуск» есть свой вариант. Но стопроцентной гарантией запуска консоли может похвастаться только вариант с ручным запуском из системного каталога.
Каждый юзер выбирает тот способ, который ему больше по душе. А для того, чтоб в дальнейшем избежать таких проблем, неплохо было бы создать ярлык запуска консоли по методу, который был описан выше. Главное – следовать инструкции. И тогда все получится.
back to menu ↑Видео: Как открыть командную строку в Windows 7
back to menu ↑Видео: Как запустить командную строку Windows 7/8/10 и основные команды
9.5 Total Score
Для нас очень важна обратная связь с нашими читателями. Если Вы не согласны с данными оценками, оставьте свой рейтинг в комментариях с аргументацией Вашего выбора. Благодарим за ваше участие. Ваше мнение будет полезно другим пользователям.
Актуальность информации
8.5
Доступность применения
10
Раскрытие темы
9.5
Достоверность информации
10
Добавить свой отзывКомандная строка в Windows 7
Системная консоль пришла в Windows родом из более старой операционной системы MS-Dos, в которой еще не было никакого графического интерфейса. Вся работа с ПК осуществлялась с помощью текстовых команд. Пользователи тех времен знали сотни служебных слов и различных параметров для запуска приложений, настройки сети, изменения параметров компьютера и так далее. Нынешняя командная строка в ОС Windows 7 таит в себе разнообразные секреты, которые могут серьезно помочь при работе с ПК. В статье описывается, как открыть утилиту, а также представлен список распространенных команд.
Как открыть с помощью графического интерфейса
Существует несколько способов открыть консоль.
Первый не требует использования клавиатуры, чем подходит пользователям, не привыкшим к вводу команд:
- Вызовите меню «Пуск» с помощью специальной кнопки-флажка в левой части панели быстрого доступа.
- Перейдите в раздел «Все программы».
- Отыщите директорию «Стандартные».
- В данной папке находится значок «Командная строка». Щелкните по нему, чтобы зайти в консоль.
Вы также можете создать ярлык, вызвав контекстное меню нажатием ПКМ. Выберите действие «Отправить», а потом «На Рабочий стол». Так вы получите возможность быстро открыть программу.
Запуск с помощью клавиатуры
Второй способ выглядит проще, если у вас установлено много приложений, захламляющих список программ:
- Откройте «Пуск» с помощью соответствующего значка.
- В текстовое поле введите слово «cmd».
- Нажмите Энтер, чтобы запустить приложение. Если вам необходимо зайти от имени администратора, вы можете кликнуть ПКМ по значку и выбрать соответствующее действие в ниспадающем меню.
И, наконец, третий способ, излюбленный опытными и продвинутыми пользователями, привыкшими управлять своим ПК с клавиатуры:
- Вызовите диалоговое окно с помощью сочетания клавиш Win+R (в русской раскладке это «К»).
- Введите «cmd» в пустое поле.
- Нажмите клавишу Энтер, чтобы зайти в консоль.
Секреты управления
Командная строка Windows 7 может показаться достаточно неприветливой к обычным пользователям персонального компьютера. Для комфортной работы с ней необходимо узнать простые секреты:
- Если вы хотите вставить в консоль скопированный текст – привычная комбинация Control+V не подойдет. Для копирования нужно вызвать контекстное ниспадающее меню нажатием ПКМ, после чего выбрать «Paste» («Вставить»).
- С помощью клавиши F1 вы можете посимвольно вводить последнюю используемую строку (одно нажатие – один символ).
- Клавиша F3 копирует в строку ввода предыдущую команду.
- Сочетанием Alt + F7 удобно пользоваться, чтобы очистить историю работы с утилитой.
- Нажимая кнопку Tab, вы будете «перебирать» находящиеся в открытой директории файлы и папки.
Зная подобные секреты, вам станет гораздо проще работать с данным интерфейсом.
Список полезных команд
- Help – ее пользу трудно переоценить. С ее помощью вы можете получить подробные инструкции по работе с любыми аспектами интерпретатора. Вы можете использовать ее с какой-то конкретной командой для получения дополнительной информации, например «help attrib».
- Ping – если вы звоните в техническую поддержку провайдера – оператор часто может попросить «пропинговать» какой-нибудь узел. Вводится в формате «ping 192.168.0.1».
- Tracert – еще одна проверка сети, которую могут попросить сотрудники провайдера. Прописывается аналогично с пингом – «команда + адрес узла».
- Ipconfig – с ее помощью можно узнать свой MAC-адрес, IP-адрес, DNS сервера и другие параметры подключения.
- /p — обычное выключение компьютера, как через меню «Пуск».
- /r – перезагрузка.
- /l – завершения текущего сеанса (например, для последующей смены пользователя).
- /f – выключение всех работающих программ.
- CD *название каталога* — перемещение в указанную директорию.
- Attrib – установка или снятие атрибутов с файлов и папок. К примеру, таким образом можно снять свойство «Скрытый» со всех файлов в текущей папке.
- Msconfig – секреты настройки Windows, недоступные через панель управления.
Похожие статьи
Командная строка Windows: внутри консоли Windows
Rich
Добро пожаловать в третий пост в серии статей о командной строке Windows. В этом посте мы начнем копаться во внутреннем устройстве Windows Console и Command-Line, что это такое, что делает… и чего не делает.
Сообщения в серии «Командная строка Windows»
Примечание. Список глав будет обновляться по мере публикации большего количества сообщений:
- Справочная информация
- Развитие командной строки Windows
- Внутри Windows Консоль [Этот пост]
- Представляем псевдоконсоль Windows (ConPTY)
- Буфер выходного текста Unicode и UTF-8
[Обновлено 20.07.2018 для улучшения читаемости и уточнения некоторых деталей Unicode / UTF-x ]
Во время первоначальной разработки Windows NT, примерно в 1989 году, не было графического интерфейса пользователя, не было рабочего стола, была ТОЛЬКО полноэкранная командная строка, которая визуально больше напоминала MS-DOS, чем будущую.Когда начала появляться реализация графического интерфейса пользователя Windows, команде потребовалось приложение с графическим интерфейсом для консоли, и, таким образом, родилась консоль Windows. Консоль Windows — одно из первых приложений с графическим интерфейсом пользователя Windows NT и, безусловно, одно из старейших приложений Windows, которые все еще широко используются.
Кодовая база Windows Console в настоящее время (июль 2018 г.) почти на 30 лет… фактически старше, чем разработчики, которые сейчас над ней работают! 😄
Как мы узнали из наших предыдущих сообщений, работа терминала относительно проста:
- Обработка пользовательского ввода
- Принятие ввода с устройств, включая клавиатуру, мышь, сенсорный экран, перо и т. Д.
- Преобразование ввода в соответствующие символы и / или последовательности ANSI / VT
- Отправка символов в подключенное приложение / инструмент / оболочку
- Обработка вывода приложения:
- Принятие вывода текста из подключенного приложения / инструмента командной строки
- При необходимости обновите дисплей на основе полученного вывода приложения (например, вывод текста, перемещение курсора, установка цвета текста и т. Д.)
- Обработка взаимодействия с системой:
- Запуск по запросу
- Управление ресурсами
- Изменить размер / развернуть / минимизировать и т. д.
- Завершить при необходимости или когда канал связи закрыт / завершен
Однако консоль Windows работает немного иначе:
Консоль Windows — это традиционный исполняемый файл Win32, хотя изначально он был написан на языке C ‘, большая часть кода переносится на современный C ++ по мере того, как команда модернизирует и модулирует кодовую базу Console.
Для тех, кто заботится о таких вещах: Многие спрашивают, написана ли Windows на C или C ++.Ответ заключается в том, что, несмотря на объектно-ориентированный дизайн NT, как и большинство ОС, Windows почти полностью написана на «C». Зачем? C ++ требует затрат с точки зрения объема памяти и накладных расходов на выполнение кода. Даже сегодня скрытая стоимость кода, написанного на C ++, может вызывать удивление, но еще в конце 1990-х, когда память стоила ~ 60 долларов за Мб (да… 60 долларов за MEGABYTE !), Стоимость скрытой памяти для vtables и т. Д. было значительным. Кроме того, стоимость косвенного обращения к виртуальным методам и разыменования объектов может привести к очень значительным потерям производительности и масштабирования для кода C ++ в то время.Хотя по-прежнему нужно быть осторожным, накладные расходы на производительность современного C ++ на современных компьютерах вызывают гораздо меньше беспокойства и часто являются приемлемым компромиссом, учитывая его преимущества в области безопасности, удобочитаемости и ремонтопригодности … вот почему мы постоянно обновляем Код Консоли на современный C ++.
Итак, что находится внутри консоли Windows?
До Windows 7 экземпляры консоли Windows размещались в ключевой подсистеме времени выполнения клиент-сервер (CSRSS). Однако в Windows 7 консоль была извлечена из CSRSS по соображениям безопасности и надежности и получила новое место в следующих двоичных файлах:
- conhost.exe — пользовательский интерфейс Windows Console UX и сантехника командной строки
- condrv.sys — драйвер ядра Windows, обеспечивающий инфраструктуру связи между conhost и одной или несколькими оболочками / инструментами / приложениями командной строки
Высокий- Уровень текущей внутренней архитектуры консоли выглядит следующим образом:
] 4 Архитектура консоли в Win10 1803
Основные компоненты консоли состоят из следующих (снизу вверх):
- ConDrv.sys — драйвер режима ядра
- Обеспечивает высокопроизводительный канал связи между консолью и любыми подключенными приложениями командной строки.
- Перемещение сообщений IO Control (IOCTL) туда и обратно между приложениями командной строки и консолью, к которой они «прикреплены» ”На
- Консольные сообщения IOCTL содержат
- Данные, представляющие запросы на выполнение вызовов API к экземпляру консоли.
- Текст, отправленный из консоли в приложение командной строки
- ConHost.exe — приложение с графическим интерфейсом Win32:
- ConHost Core — внутреннее устройство и сантехника консоли
- Сервер API : преобразует сообщения IOCTL, полученные из приложений командной строки, в вызовы API и отправляет текстовые записи из консоли в команду -Line app
- API : реализует API консоли Win32 и логику, лежащую в основе всех операций, которые консоль может быть запрошена для выполнения
- Входной буфер : хранит записи событий клавиатуры и мыши, сгенерированные пользовательским вводом
- VT Parser : если включено, анализирует последовательности VT из текста, извлекает любые найденные из текста и вместо этого генерирует эквивалентные вызовы API.
- Буфер вывода : сохраняет текст, отображаемый на дисплее консоли.По сути, это двумерный массив структур CHAR_INFO, которые содержат символьные данные и атрибуты каждой ячейки (подробнее о буфере ниже)
- Другое : Не включено в диаграмму выше, включает в себя инфраструктуру настроек, хранящую / извлекающую значения из реестра и / или файлов ярлыков и т. Д.
- Службы приложений UX консоли — уровень UX и пользовательского интерфейса консоли
- Управляет макетом, размером, положением и т. Д. Окна консоли на экране
- Отображает и обрабатывает настройки пользовательского интерфейса и т. Д.
- Накачивает очередь сообщений Windows, обрабатывает сообщения Windows и преобразует вводимые пользователем данные в записи событий нажатия клавиш и мыши, сохраняя их во входном буфере
- ConHost Core — внутреннее устройство и сантехника консоли
Как видно из архитектуры консоли выше, в отличие от терминалов 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 # и многие другие.
Неизбежно, что Windows NT была создана в те бурные, объектно-ориентированные дни (примерно в 1989 г.), и ее философия заключалась в том, что «все является объектом». Фактически, одна из самых важных частей ядра NT — это «диспетчер объектов»!
Разработчики используют Windows Win32 API для доступа и управления объектами и структурами, которые обеспечивают доступ к аналогичной информации, предоставляемой псевдофайлами и инструментами * NIX.А поскольку синтаксические анализаторы, компиляторы и анализаторы понимают структуру объектов, многие ошибки кодирования часто могут быть обнаружены раньше, что помогает проверить синтаксически и логически правильные намерения программиста. Это также может привести к меньшему количеству поломок, нестабильности и «оттока» со временем.
Итак, возвращаясь к нашему основному обсуждению консоли Windows: команда NT решила создать «консоль», которая отличалась от традиционного терминала * NIX в нескольких ключевых областях:
- Console API : Вместо полагаясь на способность программистов генерировать «трудные для проверки» последовательности ANSI / VT, консолью Windows можно управлять и управлять ею с помощью богатого консольного API.
- Общие службы : чтобы каждая оболочка командной строки не повторяла одно и то же услуги снова и снова (например,грамм. Command History, Command Aliasing), сама консоль предоставляет некоторые из этих сервисов, доступных через Console API
Хотя API консоли оказался очень популярным в мире инструментов и служб командной строки Windows, модель, ориентированная на API, представляет некоторые проблемы для сценариев командной строки:
Командная строка Windows и межплатформенное взаимодействие
Многие инструменты и приложения командной строки Windows широко используют консольный API.
Проблема? Эти API работают только в Windows.Таким образом, в сочетании с другими отличительными факторами (например, различиями в жизненном цикле процессов и т. Д.) Приложения командной строки Windows не всегда легко переносятся на * NIX, и наоборот.
По этой причине экосистема Windows разработала собственные, часто похожие, но обычно разные инструменты и приложения командной строки. Это означает, что пользователи должны изучить один набор приложений и инструментов командной строки, оболочек, языков сценариев и т. Д. При использовании Windows, а другой — при использовании * NIX.
Для этой проблемы нет простого быстрого решения: консоль Windows и командную строку нельзя просто выбросить и заменить на bash и iTerm2, потому что существует сотен миллионов приложений, скриптов и инструментов, которые зависят от Консоль Windows и оболочки Cmd / PowerShell, многие из которых запускаются миллиарды раз в день на ПК и серверах Windows по всему миру.
Итак, какое здесь решение? Как разработчики запускают инструменты командной строки, компиляторы, платформы и т. Д., Изначально созданные в основном на / для платформ на базе * NIX?
Сторонние инструменты, такие как MinGW / MSYS и Cygwin, отлично справляются с переносом многих основных инструментов GNU и библиотек совместимости в Windows, но они не могут запускать непортированные, немодифицированные двоичные файлы Linux. Это оказывается важным требованием, поскольку многие пакеты и модули Ruby, Python, Node и т. Д. Зависят от поведения Linux и / или «обертывают» двоичные файлы Linux.
Эти причины побудили Microsoft разрешить подлинным, немодифицированным двоичным файлам и инструментам Linux работать изначально в подсистеме Windows для Linux (WSL).
Используя WSL, пользователи теперь могут загружать и устанавливать один или несколько подлинных дистрибутивов Linux бок о бок на одном компьютере и использовать менеджер пакетов каждого дистрибутива или инструментов (например, apt, zypper, npm, gem и т. Д.) для установки и запуска подавляющего большинства инструментов, пакетов и модулей командной строки Linux вместе со своими любимыми приложениями и инструментами Windows. Чтобы узнать больше о WSL, посетите страницу обучения WSL или официальную документацию WSL.
Кроме того, есть некоторые вещи, которые предлагает консоль, которые не были приняты терминалами сторонних производителей: в частности, консоль Windows предоставляет службы истории команд и псевдонимов команд, которые направлены на устранение необходимости в каждой командной строке. оболочки (в частности), чтобы повторно реализовать ту же функциональность. Мы вернемся к этой теме в будущем.
Удаленное взаимодействие с командной строкой Windows сложно
Как мы обсуждали в статье «Командная строка», терминалы изначально были отделены от компьютера, к которому они были подключены.Перенесемся в настоящее время, и этот дизайн остается: большинство современных терминалов и приложений / оболочки командной строки / и т. Д. разделены процессами и / или машинными границами.
На платформах на базе * NIX представление о том, что терминалы и приложения командной строки разделены и просто обмениваются символами, привело к тому, что командные строки * NIX были легко доступны и управлялись с удаленного компьютера / устройства: терминал и приложение командной строки могут обмениваться потоками символов через некоторый тип упорядоченной инфраструктуры последовательной связи (TTY / PTY / etc.), удаленно управлять командной строкой машины * NIX довольно просто.
Однако в Windows многие приложения командной строки зависят от вызова API консоли и предполагают, что они работают на том же компьютере, что и сама консоль. Это затрудняет удаленное управление оболочками / инструментами / инструментами командной строки Windows и т. Д.: Каким образом приложение командной строки, работающее на удаленном компьютере, вызывает API-интерфейсы на консоли локального компьютера пользователя? И что еще хуже, как удаленное приложение командной строки вызывает консольный API, если к нему обращаются через терминал на Mac или Linux ?!
Извините за дразню, но мы вернемся к этой теме более подробно в одной из следующих публикаций!
Запускать Консоль… или нет!
Обычно в системах на базе * NIX, когда пользователь хочет запустить инструмент командной строки, он сначала запускает Терминал.Затем Терминал запускает оболочку по умолчанию или может быть настроен для запуска определенного приложения / инструмента. Приложение «Терминал» и «Командная строка» обменивается потоками символов через псевдо-TTY (PTY) до тех пор, пока один или оба не будут завершены.
Путаница в консоли
В Windows, однако, все работает по-другому: пользователи Windows никогда не запускают саму консоль (conhost.exe): пользователи запускают оболочки и приложения командной строки, а не саму консоль!
Сказать, что сейчас?
Да, в Windows пользователи запускают приложение командной строки, а НЕ саму консоль .Если пользователь запускает приложение командной строки из существующей оболочки командной строки, Windows (обычно) присоединяет недавно запущенный EXE-файл командной строки к текущей консоли. В противном случае Windows запустит новый экземпляр консоли и присоединит его к недавно запущенному приложению.
Поскольку пользователи запускают Cmd.exe
или PowerShell.exe
и видят, что открывается окно консоли, они работают в рамках распространенного заблуждения, что Cmd и PowerShell сами по себе являются «консолями»… это не ! Cmd.exe и PowerShell.exe — это «безголовые» приложения командной строки, которые необходимо подключить к экземпляру консоли ( conhost.exe
), из которого они получают ввод пользователя и в который они отправляют текстовый вывод для отображения пользователю.
Кроме того, многие люди говорят: «Приложения командной строки запускают в консоли ». Это вводит в заблуждение и вносит дополнительную путаницу в то, как на самом деле работают консоли и приложения командной строки!
Пожалуйста, помогите исправить это заблуждение , если вы его слышите, указав, что «инструменты / приложения командной строки запускают , подключенные к консоли» (или аналогичный).Спасибо! 😃
Итак, приложения командной строки Windows запускаются в своих собственных процессах, подключенных к экземпляру консоли, работающему в отдельном процессе. Это похоже на * NIX, где приложения командной строки запускаются подключенными к приложениям терминала. Звучит хорошо, правда? Ну нет; здесь есть некоторые проблемы, потому что консоль работает немного иначе:
- Консоль и приложение командной строки обмениваются данными через сообщения IOCTL через драйвер, а не через текстовые потоки (как в * NIX)
- Windows требует, чтобы ConHost.exe — это консольное приложение, которое подключено к приложениям командной строки.
- Windows управляет созданием коммуникационных «каналов», по которым консоль и приложение командной строки обмениваются данными
Это значительные ограничения, особенно последний пункт. Зачем? Что, если вы хотите создать альтернативное консольное приложение для Windows? Как бы вы отправили клавиатуру / мышь / перо / и т. Д. действия пользователя в приложении командной строки, если вы не могли получить доступ к коммуникационным «каналам», соединяющим вашу новую консоль с приложением командной строки?
Увы, история здесь не из лучших: есть несколько отличных сторонних консолей (и серверных приложений) для Windows (например,грамм. ConEmu / Cmder, Console2 / ConsoleZ, Hyper, Visual Studio Code, OpenSSH и т. Д.), Но им приходится преодолевать необычные препятствия, чтобы действовать как обычная консоль.
Например, сторонние консоли должны запускать приложение командной строки за пределами экрана, например, (-32000, -32000). Затем они должны отправлять нажатия клавиш на консоль за пределами экрана, очищать текстовое содержимое консоли за пределами экрана и перерисовывать их в собственном пользовательском интерфейсе! Я знаю, сумасшедший, да ?! То, что они вообще работают, свидетельствует об изобретательности и решимости создателей этих приложений.
Это явно та ситуация, которую мы стремимся исправить. Следите за обновлениями, чтобы узнать больше об этой части истории — скоро будут хорошие новости.
Консоль Windows и VT
Как обсуждалось выше, консоль Windows предоставляет богатый API. Используя консольный API, приложения и инструменты командной строки пишут текст, меняют цвета текста, перемещают курсор и т. Д. А из-за консольного API консоль Windows практически не нуждалась в поддержке последовательностей ANSI / VT, которые обеспечивают очень похожие функции на других платформ.Фактически, до Windows 10 консоль Windows реализовывала только минимальную поддержку последовательностей ANSI / VT:
[
] Все это начало меняться в 2014 году, когда Microsoft сформировала новую команду консоли Windows, посвященную распутыванию и улучшению консоли. & Инфраструктура командной строки Windows.
Одним из наивысших приоритетов новой группы консолей было внедрение комплексной поддержки последовательностей ANSI / VT для рендеринга вывода приложений * NIX, работающих в подсистеме Windows для Linux (WSL) и на удаленных машинах * NIX.Вы можете прочитать немного больше об этой истории в предыдущем посте этой серии.
Команда консоли добавила всестороннюю поддержку последовательностей ANSI / VT в консоль Windows 10, что позволяет пользователям использовать и пользоваться огромным набором инструментов и приложений командной строки Linux для Windows и . Команда продолжает улучшать и совершенствовать поддержку консоли VT с каждым выпуском ОС и благодарна за любые проблемы, которые вы регистрируете в нашем трекере проблем GitHub 😉
Обработка Unicode
Быстрое освежение информации о Unicode: Unicode или ISO / IEC 10646 является международным стандартом определение каждого символа / глифа, используемого почти во всех системах письма на Земле, плюс , многие символов, не относящихся к сценарию, и изображения размером с символ (например,грамм. emoji), которые используются сегодня. В настоящее время (июль 2018 г.) Unicode 11 определяет 137439 символов в 146 современных и исторических сценариях! Unicode также определяет несколько кодировок символов, включая UTF-8, UTF-16 и UTF-32:
- UTF-8 : 1-байт для первых 127 кодовых точек (с сохранением совместимости с ASCII) и необязательный дополнительный 1-3 байта (всего 4 байта) для других символов
- UTF-16 / UCS-2 : 2 байта для каждого символа. UCS-2 (используется внутри Windows) поддерживает кодирование первых 65536 кодовых точек (известное как базовая многоязычная плоскость — BMP).UTF-16 расширяет UCS-2 за счет включения 4-байтовой кодировки для 17 дополнительных плоскостей символов
- UTF-32 : 4 байта на символ
Самая популярная кодировка на сегодняшний день благодаря эффективным требованиям к хранению и Широкое распространение в HTML-страницах используется UTF-8. UTF-16 / UCS-2 распространены, хотя и реже, в хранимых документах (например, веб-страницах, коде и т. Д.). UTF-32 используется редко из-за его неэффективности и значительных требований к памяти. Отлично, у нас есть эффективные и действенные способы представления и хранения символов Юникода!
Итак?
Увы, консоль Windows и ее API были созданы до создания Unicode.Консоль Windows сохраняет текст (который впоследствии отображается на экране) в виде символов UCS-2, требующих 2 байта на ячейку. Приложения командной строки записывают текст в консоль с помощью Console API. Многие консольные API бывают двух видов: функции с суффиксом A
обрабатывают однобайтовые / символьные строки, а функции с суффиксом W
обрабатывают 2-байтовые (wchar) / символьные строки: например, функция WriteConsoleOutputCharacter () компилируется до WriteConsoleOutputCharacterA ()
для проектов ASCII или до WriteConsoleOutputCharacterW ()
для проектов Unicode.Код может напрямую вызывать функции с суффиксами ... A
или ... W
, если требуется особая обработка.
Однако, хотя все API-интерфейсы W поддерживают UCS-2, а некоторые были обновлены для поддержки UTF-16, не все API-интерфейсы W полностью поддерживают UTF-16.
Кроме того, консоль не поддерживает некоторые новые функции Unicode, включая объединители нулевой ширины (ZWJ), которые используются для объединения отдельных символов, например, в арабском и индийском сценариях, и даже используются для объединения нескольких символов эмодзи в один визуальный элемент. глиф, как смайлики «люди» и ниндзякаты.
Что еще хуже, текущее средство визуализации текста консоли не может даже нарисовать этих сложных глифов, даже если буфер мог бы их хранить: консоль в настоящее время использует GDI для визуализации текста, но GDI не поддерживает адекватно резервный шрифт — механизм для динамического поиска и загрузки альтернативного шрифта, который содержит глиф, отсутствующий в текущем шрифте. Откат шрифта хорошо поддерживается более современными механизмами рендеринга текста, такими как DirectWrite
. Итак, что произойдет, если вы захотите записать сложные и соединенные глифы на консоли? К сожалению, вы не можете использовать … пока, но это тоже сообщение для другого раза.
Еще раз, дорогой читатель, если вы прочитали все вышесказанное, спасибо и поздравления — теперь вы знаете о консоли Windows больше, чем большинство ваших друзей, и, вероятно, даже больше, чем вы, , хотели! Удачи вам 😛
В этом посте мы рассмотрели много вопросов:
- Основные строительные блоки консоли Windows:
- Condrv.sys — коммуникационный драйвер консоли
- ConHost.exe — консоль UX , внутреннее устройство и сантехника:
- API Server — сериализует вызовы API и текстовые данные через сообщения IOCTL, отправляемые в / из драйвера
- API — функциональные возможности консоли
- Buffers — входной буфер для хранения пользовательского ввода, выходной буфер для хранения выходных данных / отображаемый текст
- VT Parser — преобразует последовательности ANSI / VT, встроенные в текстовый поток, в вызовы API.
- Console UX — состояние пользовательского интерфейса консоли, настройки, функции
- Другое — Разное время жизни, безопасность и т. д.
- Что делает консоль
- Отправляет пользовательский ввод в подключенное приложение командной строки
- Получает и отображает вывод из подключенного приложения командной строки
- Чем консоль отличается от терминалов * NIX
- NIX: «Все является файлом / текстовым потоком»
- Windows: «Все является объектом, доступным через API»
- Проблемы с консолью
- Консольные приложения и приложения командной строки обмениваются данными через запросы вызовов API и текст, сериализованный в сообщения IOCTL
- Только приложения командной строки Windows вызывают консольный API
- Больше работы по переносу приложений командной строки в / из Windows
- Приложения вызывают Windows API для взаимодействия с консолью
- Делает удаленное взаимодействие с приложениями / инструментами командной строки Windows
- Зависимость от IOCTL нарушает конструкцию терминала «обмена символами». Сложнее управлять удаленными инструментами командной строки Windows из Машины не под управлением Windows
- Запуск приложений командной строки Windows «необычный»
- Только ConHost.exe может быть прикреплен к приложениям командной строки
- Сторонние терминалы вынуждены создавать консоль за пределами экрана и отправлять ключи / очистку экрана в / из нее
- Windows исторически не понимает последовательности ANSI / VT
- В основном исправлено в Windows 10 😃
- Консоль имеет ограниченную поддержку Unicode, и в настоящее время изо всех сил пытается справиться с хранением и отображением современных UTF-8 и символов, требующих объединения нулевой ширины
В следующих нескольких публикациях этой серии мы: Мы углубимся в консоль и обсудим, как мы решаем эти проблемы… и многое другое! Как всегда, следите за обновлениями 😉 [Большое спасибо моим коллегам из команды Console за то, что они помогли сохранить этот пост точным и сбалансированным — Майклу, Майку, Дастину и Остину — вы молодцы! 😃]
Рич Тернер
Sr.Диспетчер программ, консоль Windows и командная строка
Следуйте
.Командная строка Windows: эволюция командной строки Windows
Rich
Добро пожаловать во вторую публикацию из серии «Командная строка Windows». В этом посте мы обсудим некоторую предысторию и историю использования командной строки Windows. В частности, мы исследуем его скромное происхождение в MS-DOS, до его современного воплощения, поддерживающего такие инструменты, как PowerShell и подсистема Windows для Linux.
Сообщения в серии «Командная строка Windows»
Примечание. Этот список глав будет обновляться по мере публикации большего количества сообщений:
- Справочная информация о командной строке
- Развитие командной строки Windows [ этот пост]
- Внутри консоли Windows
- Знакомство с псевдоконсолью Windows (ConPTY)
- Буфер вывода текста Unicode и UTF-8
В предыдущем посте этой серии мы обсудили историю и основы Command- Line и увидел, как архитектура командных линий в целом оставалась в значительной степени неизменной с течением времени, даже когда терминалы эволюционировали от электромеханических телетайпов до современных терминальных приложений.Наше путешествие сейчас продолжается по довольно запутанному пути, начиная с ранних ПК, заканчивая участием Microsoft в нескольких операционных системах, к недавно обновленной командной строке:
Еще в первые годы компьютерной индустрии большинство компьютеров использовалось полностью путем ввода команд в командную строку. Машины на базе Unix, CP / M, DR-DOS и других боролись за положение и долю на рынке. В конце концов, MS-DOS получила известность как де-факто стандартная ОС для IBM PC и совместимых устройств, особенно в бизнесе:
Как и большинство основных операционных систем того времени, «Интерпретатор командной строки» Microsoft MS-DOS или «оболочка» предоставляла простой, необычный, но относительно эффективный набор команд и синтаксис командных сценариев для написания пакетных (.bat) файлы. MS-DOS была очень быстро принята крупными и малыми предприятиями, которые в совокупности создали многие миллионы пакетных сценариев, некоторые из которых используются до сих пор! Пакетные сценарии используются для автоматизации конфигурации компьютеров пользователей, установки / изменения параметров безопасности, обновления программного обеспечения, строительного кода и т. Д.
Вы можете никогда / редко увидеть запущенные пакетные сценарии или сценарии командной строки, поскольку многие из них выполняются в фоновом режиме при этом, например, авторизуясь на рабочем ПК. Но только в Windows ежедневно выполняются сотни миллиардов сценариев и команд командной строки! В то время как командная строка является мощным инструментом в руках тех, у кого хватило терпения и упорства, чтобы научиться максимально эффективно использовать доступные команды и инструменты, большинство нетехнических пользователей изо всех сил пытались эффективно использовать свои компьютеры, управляемые из командной строки, и большинству не нравилось выучивать и запоминать многие, казалось бы, непонятные / сокращенные команды, чтобы заставить их компьютеры делать что-нибудь полезное.Требовалось более удобное и продуктивное взаимодействие с пользователем.
Графический интерфейс становится популярным
Enter, графический интерфейс пользователя (GUI), вдохновленный работой Xerox ’Alto. Многие конкурирующие графические интерфейсы быстро появились в Apple Lisa и Macintosh, Commodore Amiga (Workbench), Atari ST (DRI’s GEM), Acorn Archimedes (Arthur / RISC OS), Sun Workstation, X11 / X Window System и многих других, включая Microsoft Windows. : Windows 1.0 появилась в 1985 году и была в основном приложением MS-DOS, которое предоставляло простую среду графического интерфейса пользователя с мозаичным окном, позволяющую пользователям запускать несколько приложений параллельно:
Windows 1.x, 2.x, 3.x, 95 и 98, все они работали на базе MS-DOS и сильно полагались на свои основы MS-DOS.
Примечание: Windows ME (Millennium Edition) была интересной химерой! Наконец, он заменил основы MS-DOS и поддержку реального режима предыдущих версий Windows на новые основы ОС, в которых использовались преимущества процессоров Intel 80286 и 80386. WinME также перенял некоторые функции из Windows 2000 (например, новый стек TCP / IP), но настроен для работы на домашних компьютерах, которые часто испытывали трудности с запуском полной NT.Эта история может когда-нибудь стать интересным постом! 😉 (Спасибо Bees за ваши мысли об этом ) Однако Microsoft знала, что пока они могут только расширить архитектуру и возможности MS-DOS и Windows: Microsoft знала, что ей нужна новая операционная система, на которой можно строить свое будущее.
Microsoft — лидер рынка Unix! Да серьезно!
При разработке MS-DOS Microsoft также была занята доставкой Xenix — порта Microsoft для Unix версии 7 — для различных процессоров и архитектур компьютеров, включая Z8000, 8086/80286 и 68000.
К 1984 году Xenix от Microsoft стал самым популярным в мире вариантом Unix! Однако распад правительством США компании Bell Labs — дома Unix — привел к выделению AT&T, которая начала продавать Unix System V производителям компьютеров и конечным пользователям. Microsoft чувствовала, что без собственной ОС их способность достигать своих будущих целей будет поставлена под угрозу. Это привело к решению отказаться от Xenix: в 1987 году Microsoft передала право собственности на Xenix своему партнеру The Santa Cruz Operation (SCO), с которым Microsoft работала над несколькими проектами по переносу и расширению Xenix на различные платформы.
Microsoft + IBM == OS / 2… кратко
В 1985 году Microsoft начала работать с IBM над новой операционной системой под названием OS / 2. OS / 2 изначально создавалась как «более функциональная DOS» и была разработана для использования преимуществ некоторых современных 32-разрядных процессоров и других технологий, быстро появляющихся у производителей оригинального оборудования, включая IBM.
Однако история 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» и оболочку «Командная строка» (cmd.exe). Cmd был разработан для обеспечения максимальной совместимости с пакетными сценариями MS-DOS, чтобы облегчить внедрение новой платформы в бизнесе.
Сила PowerShell
В то время как оболочка Cmd остается в Windows по сей день (и, вероятно, так и будет в течение многих последующих десятилетий), Cmd претерпит некоторые изменения в будущем, поскольку его основная цель — оставаться обратно совместимой. насколько возможно.Иногда бывает сложно даже исправить «ошибки» Cmd, если эти «ошибки» существовали в MS-DOS или более ранних версиях Windows!
К началу 2000-х годов стало ясно, что оболочка Cmd уже выдыхается, и Microsoft и ее клиенты срочно нуждались в более мощной и гибкой командной строке. Эта потребность подтолкнула к созданию PowerShell (который произошел из «Манифеста монады» Джеффри Сновера).
PowerShell — это объектно-ориентированная оболочка, в отличие от файловых / потоковых оболочек, которые обычно встречаются в мире * NIX: вместо обработки потоков текста PowerShell обрабатывает потоки объектов, предоставляя разработчикам сценариев PowerShell возможность прямого доступа и управления объекты и их свойства, вместо того, чтобы писать и поддерживать множество скриптов для анализа текста и управления им (например,грамм. через sed / grep / awk / lex / etc.)
Построенный на основе .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 для поддержки нескольких подсистем — интерфейсов между кодом пользовательского режима и базовым ядром.Когда Windows NT 3.1 впервые была выпущена в 1993 году, она поддерживала несколько подсистем: MS-DOS, Windows, OS / 2 v1.3 и POSIX v1.2. Эти подсистемы позволили NT запускать приложения, ориентированные на несколько платформ операционных систем, на одной машине и базовой ОС без виртуализации или эмуляции — огромная возможность даже сегодня!
Хотя исходная реализация POSIX в Windows NT была приемлемой, потребовались значительные улучшения, чтобы сделать ее действительно функциональной, поэтому Microsoft приобрела Softway Systems и ее POSIX-совместимую подсистему NT «Interix».
Чтобы узнать больше о происхождении, росте и приобретении Interix, прочитайте историю Стивена Уолли, состоящую из двух частей: Часть 1 и Часть 2. Для получения дополнительных технических сведений о Interix и о том, как она интегрирована в Windows, прочтите статью Стивена USENIX под названием «INTERIX: переносимость приложений UNIX на Windows NT через подсистему альтернативной среды». Первоначально Interix поставлялся как отдельная надстройка, а затем был объединен с несколькими полезными служебными программами и инструментами и выпущен как «Службы для Unix» (SFU) в Windows Server 2003 R2 и Windows Vista.Однако после выхода Windows 8 SFU прекратили свое существование.
А потом произошла забавная вещь…
Windows 10 — новая эра для командной строки Windows!
В начале разработки Windows 10 Microsoft открыла страницу UserVoice, спрашивая сообщество, какие функции им нужны в различных областях ОС. Сообщество разработчиков особенно громко просило Microsoft:
- Внести существенные улучшения в консоль Windows
- Предоставить пользователям возможность запускать инструменты Linux в Windows
На основании этих отзывов Microsoft сформировала две новые команды:
- Команда консоли Windows и командной строки, отвечающая за принятие на себя ответственности за консоль Windows и инфраструктуру командной строки и их модернизацию.
- Группа, ответственная за запуск подлинных немодифицированных двоичных файлов Linux в Windows 10 — подсистема Windows для Linux ( WSL)
Остальное, как говорится, уже история!
Подсистема Windows для Linux (WSL)
Внедрение «дистрибутивов» на основе GNU / Linux (комбинации ядра Linux и наборов инструментов пользовательского режима) неуклонно росло, особенно на серверах и в облаке.В то время как Windows имела среду выполнения, совместимую с POSIX, в SFU не хватало возможности запускать многие инструменты и двоичные файлы Linux из-за дополнительных системных вызовов и различий в поведении последнего по сравнению с традиционным Unix / POSIX. Из-за отзывов, полученных от технических клиентов и пользователей Windows, наряду с растущим спросом внутри самой Microsoft, Microsoft изучила несколько вариантов и в конечном итоге решила позволить Windows запускать неизмененные, подлинные двоичные файлы Linux!
В середине 2014 года Microsoft сформировала команду для работы над тем, что станет подсистемой Windows для Linux (WSL).Впервые WSL был анонсирован на Build 2016, а вскоре после этого был анонсирован в сборках Windows 10 Insider. С тех пор в большинстве инсайдерских сборок и в каждом крупном выпуске ОС после Anniversary Update осенью 2016 года спектр функций, совместимость и стабильность WSL значительно улучшились:
Когда WSL был впервые выпущен, это был интересный эксперимент, в котором было проведено несколько общих Инструменты Linux, но не смогли запустить многие распространенные инструменты / платформы разработчика. Команда работала быстро, и при значительной помощи сообщества (спасибо всем!) WSL быстро получил множество новых возможностей, позволяющих запускать все более сложные двоичные файлы Linux и рабочие нагрузки.
Сегодня (середина 2018 г.) WSL успешно запускает большинство двоичных файлов Linux, инструментов, компиляторов, компоновщиков, отладчиков и т. Д. Многие разработчики, ИТ-специалисты, инженеры DevOps и многие другие, кому нужно запускать или создавать инструменты, приложения Linux, сервисы и т. д. значительно улучшили производительность, имея возможность запускать свои любимые инструменты Linux вместе со всеми своими любимыми инструментами Windows на одном компьютере без необходимости двойной загрузки.
Команда WSL продолжает работать над улучшением способности WSL выполнять многие сценарии Linux, а также улучшать его производительность и интеграцию с Windows.
Перезагрузка и капитальный ремонт консоли Windows
В конце 2014 года, когда полным ходом идет проект по созданию подсистемы Windows для Linux (WSL), и из-за всплеска интереса ко всему, что связано с командной строкой, консолью Windows был… ну… явно нуждался в некоторой TLC и требовал многих улучшений, которые часто запрашивались клиентами и пользователями.
В частности, консоли не хватало многих функций, ожидаемых от современных * NIX-совместимых систем, таких как возможность синтаксического анализа и рендеринга последовательностей ANSI / VT, широко используемых в мире * NIX для рендеринга насыщенного, красочного текста и текстовых пользовательских интерфейсов.В чем тогда смысл построения WSL, если пользователь не сможет правильно видеть и использовать инструменты Linux?
Ниже приведен пример того, что консоль отображает в Windows 7 по сравнению с Windows 10: Обратите внимание, что консоль Windows 7 (слева) не может правильно отображать VT, созданный tmux
, htop
, Midnight Commander
и cowsay
инструментов Linux, тогда как они правильно отображаются в Windows 10 (справа):
Итак, в 2014 году была сформирована новая небольшая команда, которой было поручено распутывать, понимать и улучшать код консоли. база… которой к тому времени было ~ 28 лет — старше разработчиков, над ней работавших!
Как подтвердит любой разработчик, которому когда-либо приходилось внедрять старую, грубую, плохо обслуживаемую кодовую базу, модернизация старого кода, как правило, является «сложной».Еще сложнее сделать это, не нарушая существующее поведение. Обновление , наиболее часто запускаемого исполняемого файла во всей Windows без нарушения работы миллионов клиентских сценариев, инструментов, сценариев входа, систем сборки, производственных систем, систем анализа и производства и т. Д. Требует большой «осторожности и терпения» 😉 Чтобы усложнить эти проблемы, команда быстро пришла к выводу, насколько точны ожидания клиентов от консоли: например, если команда отклоняется от производительности консоли даже на процентный пункт или два, от одной сборки к другой, срабатывают сигналы тревоги. команда Windows Build, в результате чего… кхм… «быстрая и прямая обратная связь» обычно требует немедленных исправлений.Итак, когда мы будем обсуждать улучшения и новые функции консоли в будущих статьях, помните, что существует несколько незыблемых принципов, по которым измеряется каждое изменение, в том числе:
- НЕ вводить / раскрывать новые уязвимости безопасности
- НЕ нарушать работу существующих клиентов ( внутренние или внешние), инструменты, сценарии, команды и т. д.
- НЕ снижайте производительность и не увеличивайте потребление памяти / ввод-вывод (без четких и хорошо изложенных причин)
За последние 3 года команда консолей имеет:
- Существенно переработано внутреннее устройство консоли
- Существенно упрощено и уменьшен объем кода в консоли
- Заменены несколько внутренне реализованных коллекций, списков, стеков и т. Д.с контейнерами STL
- Модульные и изолированные логические и функциональные блоки кода, позволяющие улучшать функции (а иногда и заменять) без «разрушения мира».
- Объединение нескольких ранее отдельных и несовместимых движков консоли в один
- Добавлено МНОГИЕ улучшения надежности, безопасности и защиты.
- Добавлена возможность синтаксического анализа и визуализации последовательностей ANSI / VT, что позволяет консоли точно отображать форматированный текстовый вывод из * NIX и других современных инструментов и приложений командной строки.
- Консоль включена для визуализации. 24-битные цвета, вместо 16 цветов ранее!
- Улучшенная доступность консоли, позволяющая экранному диктору и другим приложениям UIA перемещаться по содержимому окна консоли.
- Добавлена / улучшена поддержка мыши и сенсорного ввода
И работа продолжается! В настоящее время мы завершаем реализацию пары интересных новых функций, которые мы обсудим в следующих статьях этой серии.
Если вы дочитали до этого места, примите наши поздравления и спасибо! 😀
Так зачем же урок истории?
Как я надеюсь, вы поймете, прочитав историю, приведенную выше, важно понимать, что командная строка осталась ключевым компонентом стратегии, платформы и экосистемы Microsoft. Несмотря на то, что Microsoft продвигала графический интерфейс Windows для обычных конечных пользователей, Microsoft и ее технические клиенты / пользователи / партнеры в значительной степени полагаются на командную строку Windows для решения множества технических задач.
Фактически, Microsoft буквально не смогла бы собрать ни саму Windows, ни какие-либо другие свои программные продукты без быстрой, эффективной, стабильной и безопасной консоли! На протяжении эпох MS-DOS, Unix, OS / 2 и Windows командная строка оставалась, пожалуй, самым важным инструментом в наборе инструментов любого технического пользователя! Даже многие пользователи, которые редко / никогда не вводят команды в консоль, сами используют консоль каждый день: когда вы создаете свой код в Visual Studio (VS), ваша сборка создается в скрытом окне консоли! Если вы используете Exchange Server или инструменты администрирования SQL Server, многие из этих команд выполняются через PowerShell в скрытой консоли!
В этом посте мы рассмотрели множество вопросов: мы рассмотрели часть истории ОС Microsoft, относящуюся к командной строке и консоли Windows.
Мы также узнали об истоках консоли Windows. В следующем посте мы начнем копаться во внутреннем устройстве консоли.
Следите за новостями!
Рич Тернер
Старший менеджер программ, консоль Windows и командная строка
Следуйте
.Представляем терминал Windows | Командная строка Windows
Kayla
Мы очень рады объявить о Windows Terminal! Терминал Windows — это новое, современное, быстрое, эффективное, мощное и продуктивное приложение терминала для пользователей инструментов командной строки и оболочек, таких как Command Prompt, PowerShell и WSL.
https://aka.ms/terminal-video
Терминал Windows будет доставлен через Microsoft Store в Windows 10 и будет регулярно обновляться, чтобы вы всегда были в курсе последних событий и могли пользоваться новейшими функциями и последними улучшениями с минимальными усилиями.
Ключевые функции Windows Terminal
Несколько вкладок
Вы спросили, и мы слушали! Наиболее часто запрашиваемая функция для Терминала — это поддержка нескольких вкладок, и мы СУПЕР рады, что наконец-то сможем предоставить эту ключевую функцию. Теперь вы сможете открывать любое количество вкладок, каждая из которых связана с оболочкой командной строки или приложением по вашему выбору, например Командная строка, PowerShell, Ubuntu на WSL, Raspberry Pi через SSH и т. Д.
Красивый текст
Терминал Windows использует движок визуализации текста на основе DirectWrite / DirectX с ускорением графического процессора.Этот новый механизм визуализации текста будет отображать текстовые символы, глифы и символы, присутствующие в шрифтах на вашем ПК, включая идеограммы CJK, эмодзи, символы Powerline, значки, программные лигатуры и т. Д. Этот механизм также отображает текст намного быстрее, чем механизм GDI предыдущей консоли. !
У вас также будет возможность использовать наш новый шрифт! Мы хотели создать новый забавный моноширинный шрифт, чтобы улучшить современный внешний вид Терминала. Этот шрифт не только будет включать программные лигатуры, но и будет иметь открытый исходный код и собственный репозиторий.Следите за обновлениями, чтобы узнать больше о новом проекте шрифтов!
Настройки и возможность конфигурирования
Мы связались со многими пользователями командной строки, которые ОБОЖАЮТ настраивать свои терминалы и приложения командной строки. Терминал Windows предоставляет множество настроек и параметров конфигурации, которые дают вам полный контроль над внешним видом Терминала и каждой из оболочек / профилей, которые вы можете открывать в виде новых вкладок. Настройки хранятся в структурированном текстовом файле, что упрощает настройку для пользователей и / или инструментов.
Используя механизм конфигурации Терминала, вы сможете создать несколько «профилей» для каждой оболочки / приложения / инструмента, который вы хотите использовать, будь то PowerShell, командная строка, Ubuntu или даже SSH-подключения к устройствам Azure или IoT. Эти профили могут иметь собственную комбинацию стилей и размеров шрифтов, цветовых тем, уровней размытия / прозрачности фона и т. Д. Теперь вы можете создать свой собственный терминал с индивидуальным стилем, который будет персонализирован в соответствии с вашим уникальным вкусом!
Подробнее!
После того, как мы поставили Windows Terminal 1.0, мы планируем приступить к работе над многими функциями, которые уже находятся в нашем бэклоге, в дополнение ко многим функциям, которые вы, как сообщество, вероятно, добавите!
Когда я смогу его получить?
На сегодняшний день терминал Windows и консоль Windows были сделаны с открытым исходным кодом, и вы можете клонировать, создавать, запускать и тестировать код из репозитория на GitHub: https://github.com/Microsoft/Terminal
Это Летом 2019 года предварительные версии Windows Terminal будут выпущены в Microsoft Store, чтобы ранние пользователи могли использовать их и оставлять отзывы.
Этой зимой 2019 года наша цель — запустить Windows Terminal 1.0, и мы будем работать с сообществом, чтобы обеспечить его готовность перед выпуском!
[Happy Joy Gif — Giphy]
Подождите … вы сказали открытый исходный код?
Да, мы сделали! Мы рады сообщить, что открываем исходный код не только для терминала Windows, но и для консоли Windows, в которой размещается инфраструктура командной строки в Windows и обеспечивается традиционный UX консоли.
Нам не терпится поработать с вами над улучшением и расширением возможностей командной строки Windows!
Звучит круто, но почему бы вам просто не улучшить существующую консоль Windows?
Основной целью консоли Windows является сохранение обратной совместимости с существующими инструментами командной строки, сценариями и т. Д.Хотя нам удалось внести множество ключевых улучшений в функции консоли (например, добавить поддержку VT и 24-битного цвета и т. Д., См. Это сообщение в блоге), мы не можем внести дальнейшие значимые улучшения в пользовательский интерфейс консоли, не «ломая мир». «.
Таким образом, настало время для нового, свежего подхода.
Windows Terminal устанавливается и запускается вместе с существующим встроенным приложением Windows Console. Если вы запустите Cmd / PowerShell / etc. напрямую, они начнут подключаться к традиционному экземпляру консоли точно так же, как и сегодня.Таким образом, обратная совместимость остается неизменной, но при этом вы можете использовать Терминал Windows, если / когда захотите. Консоль Windows будет поставляться с Windows еще несколько десятилетий, чтобы поддерживать существующие / унаследованные приложения и системы.
Хорошо, но как насчет того, чтобы вместо этого внести свой вклад в существующий проект терминала / приложения с открытым исходным кодом?
Мы внимательно изучили этот вариант во время планирования и определили, что наше участие в существующем проекте потребует изменения требований и архитектуры проекта таким образом, чтобы это было слишком разрушительно.
Вместо этого, создав новое терминальное приложение с открытым исходным кодом и консоль Windows с открытым исходным кодом, мы теперь можем предложить сообществу сотрудничать с нами в улучшении кода и использовании его в своих соответствующих проектах.
Мы считаем, что на рынке есть много места для новых / различных идей о том, что терминал может и должен делать, и мы стремимся помочь экосистеме терминальных (и связанных) приложений процветать и расти за счет внедрения новых идей, интересных подходы и интересные инновации в этой сфере.
Продано! Как я могу принять участие?
Посетите репозиторий по адресу https://github.com/Microsoft/Terminal, чтобы клонировать, создавать, тестировать и запускать Терминал! Вы можете сообщать об ошибках и делиться отзывами с нами и сообществом, а также исправлять проблемы и вносить улучшения на GitHub.
Начиная с этого лета попробуйте установить и запустить Windows Terminal из Microsoft Store. Если вы столкнетесь с какими-либо ошибками, поделитесь отзывами через Центр отзывов или проблемы на GitHub, чтобы получить подробные сведения о проблемах / обсуждениях.
Мы очень рады работать с вами! Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь обращаться к Кайле @cinnamon_msft и / или Rich @richturn_ms в Twitter. Нам не терпится увидеть, какие замечательные улучшения и функции вы внесете в Терминал Windows и Консоль Windows.
Авторы: Кайла Корица, Рич Тернер
Кайла Корица
Менеджер программ, терминал Windows, консоль, командная строка и код Cascadia
Follow
.Аргументы командной строки Windows Terminal | Документы Microsoft
- 7 минут на чтение
В этой статье
Вы можете использовать wt.exe
, чтобы открыть новый экземпляр Windows Terminal из командной строки.Вместо этого вы также можете использовать псевдоним выполнения wt
.
Примечание
Если вы создали Windows Terminal из исходного кода на GitHub, вы можете открыть эту сборку с помощью wtd.exe
или wtd
.
Синтаксис командной строки
Командная строка wt
принимает значения двух типов: параметры и команды . Параметры — это список флагов и других параметров, которые могут управлять поведением командной строки wt
в целом. Команды предоставляют действие или список действий, разделенных точкой с запятой, которые должны быть выполнены. Если команда не указана, то по умолчанию предполагается, что это команда new-tab
.
wt [параметры] [команда; ]
Чтобы отобразить справочное сообщение со списком доступных аргументов командной строки, введите: wt -h
, wt --help
, wt -?
или мас /?
.
Опции и команды
Ниже приведен полный список поддерживаемых команд и параметров для командной строки wt
.
Опция | Описание |
---|---|
- справка , -h , -? , /? | Отображает справочное сообщение. |
- максимально , -M | Запускает терминал в развернутом виде. |
- полноэкранный , -F | Запускает терминал в полноэкранном режиме. |
Команда | Параметры | Описание |
---|---|---|
новая вкладка , nt | --profile, -p имя-профиля , --startingDirectory, -d start-directory , командная строка , --title | Создает новую вкладку. |
разделенная панель , sp | -H, --horizontal , -V, --vertical , --profile, -p имя-профиля , --startingDirectory, -d start-directory , commandline , - название | Разделение новой панели. |
Фокус-вкладка , футов | --target, -t tab-index | Фокусируется на определенной вкладке. |
Примеры аргументов командной строки
Команды могут незначительно отличаться в зависимости от того, какую командную строку вы используете.
Открыть новый экземпляр профиля
Чтобы открыть новый экземпляр терминала, в этом случае команда откроет профиль с именем «Ubuntu-18.04», введите:
wt -p «Ubuntu-18.04»
wt -p «Ubuntu-18.04»
cmd.exe / c «wt.exe» -p «Ubuntu-18.04»
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD напрямую, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска.
Флаг -p
используется для указания профиля терминала Windows, который должен быть открыт. Замените «Ubuntu-18.04» на имя любого профиля терминала, который вы установили. Это всегда будет открывать новое окно. Терминал Windows пока не может открывать новые вкладки или панели в существующем экземпляре.
Настроить каталог
Чтобы указать папку, которая должна использоваться как начальный каталог для консоли, в данном случае каталог d: \, введите:
вес -d d: \
вес -d d: \
смд.exe / c "wt.exe" -d d: \
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD напрямую, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска.
Несколько вкладок
Чтобы открыть новый экземпляр терминала с несколькими вкладками, введите:
вес; ;
wt`; `;
PowerShell использует точку с запятой; для разграничения заявлений.Чтобы интерпретировать точку с запятой; в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой, используя обратные кавычки. PowerShell также имеет оператор остановки синтаксического анализа (-%), который дает указание прекратить интерпретацию чего-либо после него и просто передать это дословно.
cmd.exe / c "wt.exe" \; \;
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD напрямую, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска.
Чтобы открыть новый экземпляр терминала с несколькими вкладками, в данном случае профилем командной строки и профилем PowerShell, введите:
wt -p «Командная строка»; new-tab -p «Windows PowerShell»
wt -p "Командная строка" `; new-tab -p «Windows PowerShell»
PowerShell использует точку с запятой; для разграничения заявлений. Чтобы интерпретировать точку с запятой; в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой, используя обратные кавычки.PowerShell также имеет оператор остановки синтаксического анализа (-%), который дает указание прекратить интерпретацию чего-либо после него и просто передать это дословно.
cmd.exe / c "wt.exe" -p "Командная строка" \; new-tab -p «Windows PowerShell»
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD напрямую, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска, а \;
косая черта + точка с запятой разделяет команды.
Несколько панелей
Чтобы открыть новый экземпляр терминала с одной вкладкой, содержащей три панели, на которых запущен профиль командной строки, профиль PowerShell и ваш профиль по умолчанию, запускающий командную строку WSL, введите:
wt -p «Командная строка»; разделенная панель -p «Windows PowerShell»; разделенная панель -H wsl.exe
wt -p "Командная строка" `; разделенная панель -p "Windows PowerShell"; разделенная панель -H wsl.exe
PowerShell использует точку с запятой; для разграничения заявлений.Чтобы интерпретировать точку с запятой; в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой, используя обратные кавычки. PowerShell также имеет оператор остановки синтаксического анализа (-%), который дает указание прекратить интерпретацию чего-либо после него и просто передать это дословно.
cmd.exe / c "wt.exe" -p "Командная строка" \; разделенная панель -p «Windows PowerShell» \; разделенная панель -H wsl.exe
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска, а \;
косая черта + точка с запятой разделяет команды.
Флаг -H
(или --horizontal
) указывает, что вы хотите, чтобы панели были разделены по горизонтали. Флаг -V
(или --vertical
) указывает, что вы хотите разделить панели по вертикали.
Заголовок вкладки
Чтобы открыть новый экземпляр терминала с настраиваемыми заголовками вкладок, используйте аргумент --title
.Чтобы задать заголовок каждой вкладки при открытии двух вкладок, введите:
wt - заголовок tabname1; new-tab -p "Ubuntu-18.04" --title tabname2
wt --title tabname1 `; new-tab -p "Ubuntu-18.04" --title tabname2
cmd.exe / c "wt.exe" --title tabname1 \; new-tab -p "Ubuntu-18.04" --title tabname2
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD напрямую, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска, а \;
косая черта + точка с запятой разделяет команды.
Вкладка focus
Чтобы открыть новый экземпляр терминала с определенной вкладкой в фокусе, используйте флаг -t
(или --target
) вместе с номером индекса вкладки. Чтобы открыть профиль по умолчанию на первой вкладке и профиль «Ubuntu-18.04» на второй вкладке ( -t 1
), введите:
вес; новая вкладка -p "Ubuntu-18.04 "; focus-tab -t 1
wt`; новая вкладка -p "Ubuntu-18.04"; фокус-вкладка -t 1
cmd.exe / c "wt.exe" \; новая вкладка -p "Ubuntu-18.04" \; фокус-вкладка -t 1
Псевдонимы выполнения не работают в дистрибутивах WSL. Если вы хотите использовать wt.exe из командной строки WSL, вы можете создать его из CMD напрямую, запустив cmd.exe
. Параметр / c
сообщает CMD о завершении работы после запуска, а \;
косая черта + точка с запятой разделяет команды.
Примеры нескольких команд из PowerShell
Терминал Windows использует символ точки с запятой ;
в качестве разделителя для разделения команд в командной строке wt
. К сожалению, PowerShell также использует ;
как разделитель команд. Чтобы обойти это, вы можете использовать следующие приемы для запуска нескольких команд wt
из PowerShell. Во всех следующих примерах создается новое окно терминала с тремя панелями: одна работает с командной строкой, одна — с PowerShell, а последняя — с WSL.
В следующих примерах используется команда Start-Process
для запуска wt
. Для получения дополнительной информации о том, почему терминал использует Start-Process
, см. Использование start ниже.
Параметры в одинарных кавычках
В этом примере параметры wt
заключены в одинарные кавычки ( '
). Этот синтаксис полезен, если ничего не вычисляется.
start wt 'новая вкладка "cmd"; разделенная панель -p «Windows PowerShell»; разделенная панель -H wsl.Exe'
Экранированные цитаты
При передаче значения, содержащегося в переменной, в командную строку wt
используйте следующий синтаксис:
$ ThirdPane = "wsl.exe"
start wt "new-tab cmd; split-pane -p` "Windows PowerShell`"; split-pane -H $ ThirdPane "
Обратите внимание на использование `
, чтобы избежать двойных кавычек («
) вокруг «Windows PowerShell» в параметре -p
для параметра разделенной панели
.
Использование start
Все приведенные выше примеры явно использовали start
для запуска терминала.
В следующих примерах не используется start
для запуска командной строки. Вместо этого есть два других метода выхода из командной строки:
- Только экранирование точек с запятой, так что
PowerShell
проигнорирует их и передаст прямо вwt
. - Использование
-%
, поэтому PowerShell будет обрабатывать остальную часть командной строки как аргументы для приложения.
wt новая вкладка "cmd" `; разделенная панель -p "Windows PowerShell"; разделенная панель -H wsl.exe
wt -% new-tab cmd; разделенная панель -p «Windows PowerShell»; разделенная панель -H wsl.exe
В обоих этих примерах вновь созданное окно Терминала Windows создаст окно, правильно проанализировав все предоставленные аргументы командной строки.
Однако эти методы не рекомендуются в настоящее время , поскольку PowerShell будет ждать закрытия вновь созданного окна терминала, прежде чем вернуть управление PowerShell.По умолчанию PowerShell всегда будет ждать закрытия приложений Магазина Windows (например, Windows Terminal), прежде чем вернуться к приглашению. Обратите внимание, что это отличается от поведения командной строки, которая немедленно вернется в подсказку.
,