Windows

Работа с консолью windows: Работа с командной строкой ( CMD ) Windows

31.12.1970

Содержание

Работа с командной строкой ( CMD ) Windows

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

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

Для запуска командной строки можно воспользоваться одним из следующих способов:

Пуск — Выполнить (или клавиши Win+R) введите cmd и нажмите клавишу Enter;

Пуск — Все программы — Стандартные — Командная строка»;

Пуск — Поиск — Командная строка. Также, для запуска командной строки можно использовать заранее подготовленный ярлык, ссылающийся на исполняемый файл %SystemRoot%\system32\cmd.exe ( обычно – C:\Windows\system32\cmd.exe). Выполнение некоторых команд требует повышенных привилегий, поэтому, приложение командной строки должно быть запущено с использованием пункта контекстного меню ”Запуск от имени администратора”, вызываемого правой кнопкой мышки.

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

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

Страница, посвященная настройкам командного процессора CMD

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

Использование буфера обмена.

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

В режиме выделения мышью, контекстное меню не используется, а текст выделяется с использованием левой кнопки мышки. Копирование и вставка выполняется при нажатии правой кнопки мышки. При включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш:

— CTRL+C (CTRL+Insert) – скопировать выделенный текст.

— CTRL+V (Shift+Insert) – вставить выделенный текст.

Использование истории команд и горячих клавиш.

Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх — на одну команду назад и Стрелка Вниз — на одну команду вперед. Кроме того, можно использовать функциональные клавиши:

F1 — посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.

F2 — копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru, и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex, если задан пробел, то — ping.

F3 — вызов предыдущей команды.

F4 — удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.

F5 и F8 — вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.

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

F9 — выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7.

В Windows 10 / Windows Server 2016 появились возможности, отсутствующие в предыдущих реализациях командной строки:

— Изменение прозрачности окна консоли при нажатии комбинаций CTRL+Shift+ или CTRL+Shift++.

— Включение / выключение полноэкранного режима при нажатии CTRL+Enter.

— Расширение возможностей выделения текста и редактирования:

Shift+Home – выделить текст от текущего положения курсора до начала строки.

Shift+End – выделить текст от текущего положения курсора до конца строки.

— Быстрое перемещение по буферу экрана и поиск по контексту:

CTRL+Home – перейти в начало буфера экрана

CTRL+End – перейти в конец буфера экрана.

CTRL+Стрелка Вверх — перемещение на 1 строку вверх.

CTRL+Стрелка Вниз — перемещение на 1 строку вниз.

CTRL+F — открыть диалог поиска текста в буфере экрана.

Окно командной строки в Windows 10 можно закрыть с помощию стандартной комбинации клавиш — ALT+F4.

Для отключения новых возможностей CMD, необходимо в свойствах приложения установить галочку ”Использовать прежнюю версию консоли (требуется перезапуск)”

Автодополнение путей файлов

В командной строке Windows можно выполнять подстановку имен файлов и каталогов при нажатии клавиши Tab.

Например, для перехода, в каталог с длинным именем Program Files наберите начальную часть имени каталога

CD Pro и нажмите Tab. В строке ввода должна появиться команда :

CD «Program Files»

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

Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее — используется комбинация Shift+Tab

Перенаправление данных стандартного ввода /вывода консоли.

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

перенаправления ввода-вывода на другие устройства c использованием операторов перенаправления:

  • > — перенаправление вывода. Выходные данные записываются в файл или передаются на указанное устройство.

    ping –n 5 localhost > nul — выполнить пинг петлевого интерфейса 5 раз с перенаправлением вывода в фиктивное устройство nul. Вывод результатов выполнения команды подавляется. Подобный прием используется для организации задержки в командных файлах, поскольку пинг петлевого интерфейса выполняется почти мгновенно, а интервал между пингами равен одной секунде, время выполнения данной команды определяется значением параметра -n

    ping –n 100 yandex.ru > C:\ping-ya.txt — выполнить 100 раз пинг узла yandex.ru c записью результатов выполнения команды в файл C:\ping-ya.txt. Если файл не существует, он будет создан, а если существует, его содержимое будет затерто.

  • >> — то же, что и в предыдущем случае, но данные записываются в конец файла.

    ping –n 100 yandex.ru >> C:\ping-ya.txt — то же, что и в предыдущем примере, но, если файл не существует, то он будет создан, а если существует, то запись результатов будет выполняться в конец файла.

  • — перенаправление ввода. Данные считываются не с клавиатуры, а из файла или другого устройства.

    cmd — запустить командный процессор CMD и выполнить ввод данных из файла 1.txt. Если в файле поместить строку ping –n 100 yandex.ru, то выполнится команда, рассмотренная выше.

  • | — вывод первой команды перенаправить на вход следующей за ней.

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

    ping -n 100 microsoft.com | find «Превышен интервал» — результат выполнения команды ping -n 100 microsoft.com передается в виде входных данных для команды поиска строк (find), содержащих текст «Превышен интервал».

    ping -n 100 microsoft.com | find «Превышен интервал» > C:\ping-ya.txt — то же, что и в предыдущем примере, но с перенаправлением выводимых результатов выполнения команды в текстовый файл.

  • Использование дескрипторов ввода-вывода консоли.

    Каждому открытому файлу или устройству соответствует свой дескриптор (

    handle) который представляет собой неотрицательное число, значение которого используется породившим поток ввода-вывода процессом. По умолчанию, для всех процессов, в том числе и для командного интерпретатора cmd.exe :

    0 ( STDIN ) – дескриптор стандартного ввода (ввод с клавиатуры).

    1 (STDOUT) – дескриптор стандартного вывода (вывод на экран).

    2 (STDERR) – дескриптор вывода диагностических сообщений (сообщений об ошибках на экран).

    Дескрипторы можно использовать в тех случаях, когда требуется перенаправить (изменить) источники и приемники данных в стандартных потоках ввода-вывода. Например:

    ping.exe –n 100 yandex.ru 2> C:\pinglog.txt — стандартный поток сообщений программы ping.exe будет выводиться на экран, а ошибки ( стандартный вывод с дескриптором = 2 ) будут записаны в файл C:\pinglog.txt . В реальном случае для программы ping.

    exe приведенная конструкция значения не имеет, поскольку она выводит и диагностику, и результаты на экран.

    Для задания перенаправления в существующие дескрипторы используется амперсанд (&), затем номер требуемого дескриптора (например, &1):

    ping –n 100 yandex.ru >log.txt 2>&1 — стандартный поток сообщений об ошибках (дескриптор=2) перенаправляется в стандартный поток вывода (дескриптор = 1) и все это перенаправляется в файл log.txt текущего каталога.

    ping –n 100 yandex.ru >log.txt 1>&2 — стандартный вывод (дескриптор = 1) перенаправляется в вывод сообщений об ошибках (дескриптор=2) и все это записывается в текстовый файл.

    Если дескриптор не определен, то по умолчанию оператором перенаправления ввода будет ноль (0), а оператором перенаправления вывода > будет единица.

    Объединение нескольких команд в цепочку

    В командной строке Windows существует возможность последовательного выполнения нескольких команд в зависимости от результатов их выполнения. Для чего используются символы объединения команд — & (амперсанд) и | (вертикальная черта)

    & — одиночный амперсанд используется для разделения нескольких команд в одной командной строке. Например:

    echo ping ya.ru — вывод на экран строки ping ya.ru

    echo &ping ya.ru — последовательное выполнение команды echo без параметров и команды ping ya.ru

    && — условное выполнение второй команды. Она будет выполнена, если код завершения (значение которого передается в стандартную переменную ERRORLEVEL) первой команды равен нулю, т.е. команда выполнена успешно.

    команда1 && команда2 — выполняется команда1, а команда2 выполняется, только если первая была выполнена успешно. Например:

    ping ya.ru -err & ping –n 2 ya.ru — при использовании единичного амперсанда, первая команда ping ya.ru –err выдаст сообщение о неверном параметре -err, а вторая, ping –n 2 ya. ru выполнит двукратный пинг узла ya.ru

    ping ya.ru -err && ping –n 2 ya.ru — при использовании двойного амперсанда, первая команда ping ya.ru –err выдаст сообщение о неверном параметре -err и соответственно, сформирует код завершения не равный нулю (ошибка), что приведет к тому, что вторая команда ( ping ya.ru -n 2) выполнена не будет.

    Двойная вертикальная черта || — условное выполнение второй команды. Если первая команда завершилась с кодом возврата не равным нулю (неуспешно), то выполняется команда, следующая за двойной вертикальной чертой.

    команда1 || команда2 — если команда1 выполнена неуспешно, то запускается на выполнение команда2

    ping –n 1 ya.ru && ping –n2 ya.ru || ping –n 3 ya.ru — сначала выполнится 1-я команда ping ya.ru –n 1 — однократный пинг узла ya.ru, затем выполнится команда ping ya.ru -n 2 — двукратный пинг узла ya.ru. Третья команда ping ya. & ping -n 2 ya.ru — вывод на экран текста ping -n 1 ya.ru & ping -n 2 ya.ru

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

    TYPE C:\plan.txt && DIR & COPY /?

    команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt. Но, несколько команд можно сгруппировать с помощью скобок. Например, есть 2 командные строки:

    TYPE C:\plan.txt && DIR & COPY /?

    TYPE C:\plan.txt && (DIR & COPY /?)

    В первой из них символ условной обработки && действует только на команду DIR, во второй — одновременно на две команды: DIR и COPY. В качестве наглядного эксперимента, попробуйте выполнить вторую команду при условиях наличия и отсутствия файла C:\plan.txt. Для создания пустого файла можно воспользоваться копированием из фиктивного устройства nul:

    copy nul C:\plan. txt

    Для удаления файла используется команда erase c:\plan.txt или del C:\plan.txt

    Командные файлы

    Командные файлы (сценарии, скрипты) – это обычные текстовые файлы с заранее подготовленным набором команд для их выполнения командным процессором cmd.exe. Стандартно, такие файлы имеют расширение .bat или .cmd. Строки командных файлов могут содержать специфические команды самого процессора команд, например — FOR, ECHO, REM и т.п. или имена исполняемых модулей – reg.exe, sc.exe, auditpol.exe., которые можно использовать без расширения – reg, sc, auditpol. Пример простого командного файла:

    REM Создается текстовый файл со списком каталога Windows
    dir C:\Windows > %TEMP%\winlist.txt
    REM выполняется задержка на 5 секунд
    ping -n 5 localhost > nul
    REM Файл открывается в редакторе WordPad
    write %TEMP%\winlist.txt
    REM После завершения работы Wordpad, текстовый файл удаляется.
    erase C:\winlist.txt

    Строки, начинающиеся с REM являются комментариями. В качестве примера, используются команды для работы с файловой системой и выполняется запуск приложения графической среды – текстового редактора Wordpad (write.exe) с передачей ему параметра командной строки (имя файла). Язык командных файлов довольно примитивен и не в полной мере соответствует требованиям сегодняшнего дня, однако, он является самым простым средством автоматизации рутинных действий и используется большинством системных администраторов и грамотных пользователей. Работа с командными файлами – это отдельная тема, более подробно изложенная на странице Командные файлы

    Прочие материалы для освоения работы в командной строке Windows:

    Windows Terminal – альтернатива командной строке в Windows 10.

    Список команд CMD с описанием и примерами.

    Настройка командной строки Windows.

    Работа с сетью в командной строке.

    Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

    В начало страницы         |         На главную страницу сайта

  • Работа с командной строкой — Документация Руководство по командной строке Windows 18.

    08.2015

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

    В разделе перечислены базовые приемы работы в командной строке Windows.

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

    Для запуска командной строки воспользуйтесь одним из следующих способов:

    • «Пуск → Выполнить» (или клавиши Win+R) введите cmd и нажмите клавишу Enter;
    • «Пуск → Все программы → Стандартные → Командная строка»;
    • «Пуск → Поиск → Командная строка».

    Ввод команд

    Команды вводятся посредством ввода с клавиатуры. Простейшая команда help выводит список всех доступных команд. Также вы можете просмотреть полный перечень команд в статье Список команд Windows ( Windows CMD ).

    Для вывода справки по конкретной команде введите help название_команды, например:

    Перечень основных команд и примеры их использования приведены в разделе Основные команды данного руководства.

    Bat-файлы

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

    Автодополнение путей файлов

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

    Если на букву U начинается несколько директорий или файлов, то при каждом последующем нажатии Tab будет происходить перебор названий. Чтобы произвести перебор в обратном порядке, нажимайте Tab c зайжатой клавишей Shift.

    Если папка состоит из нескольких слов, разделенных пробелом или из кириллических символов, то весь путь берется в кавычки, например, cd "C:\Documents and Settings"

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

    По умолчанию копирование текста из командной строки отключено. Чтобы его включить необходимо:

    1. Нажать правой кнопкой мыши на заголовок окна командной строки и выбрать пункт «Свойства»;
    2. Установить галочки напротив «Выделение мышью» и «Быстрая вставка»;

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

    Вывод информации в текстовый файл и перенаправление данных

    Информацию, выводимую программами в командную строку, можно перенаправить в файл. Делается это с помощью символа >, например, systeminfo > C:\Users\mazhartsev\Desktop\test.txt.

    Если файл не существует, то он будет создан. Если существует, то он будет перезаписан. Чтобы записать данные в конец файла, необходимо воспользоваться командой >>, например: systeminfo >> C:\Users\mazhartsev\Desktop\test. txt

    Данные команды называются операторами перенаправления.

    Операторы перенаправления
    Описание Оператор перенаправления
    > Записывает данные на выходе команды вместо командной строки в файл или на устройство, например, на принтер.
    < Читает поток входных данных команды из файла, а не с клавиатуры.
    >> Добавляет выходные данные команды в конец файла, не удаляя при этом существующей информации из файла.
    >& Считывает данные на выходе одного дескриптора как входные данные для другого дескриптора.
    <& Считывает входные данные одного дескриптора как выходные данные другого дескриптора.
    | Считывает выходные данные одной команды и записывает их на вход другой команды. Эта процедура известна под названием «канал».

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

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

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

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

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

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

    C:\content-server>dir
     Том в устройстве C имеет метку SYSTEM
     Серийный номер тома: 2C89-ED9D
    
     Содержимое папки C:\content-server
    
    06. 10.2020  00:41    <DIR>          .
    06.10.2020  00:37    <DIR>          .circleci
    16.07.2020  16:04               268 .editorconfig
    16.07.2020  16:04                10 .eslintignore
    16.07.2020  16:04               482 .eslintrc
    06.10.2020  00:37    <DIR>          .github
    16.07.2020  16:04                77 .gitignore
    06.10.2020  00:41    <DIR>          assets
    06.10.2020  00:41    <DIR>          gulp
    16.07.2020  16:10               379 gulpfile.js
    16.07.2020  16:10           296 320 package-lock.json
    16.07.2020  16:10               751 package.json
    16.07.2020  16:04               509 README.md
    

    Открыть файл

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

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

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

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

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

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

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

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

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

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

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

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

    d:\html>mkdir code
    d:\html>dir
    
     Содержимое папки d:\html
    
    03.11.2020  19:23    <DIR>           .
    03.11.2020  19:23    <DIR>           ..
    03.11.2020  19:25    <DIR>           code
                   0 файлов              0 байт
                   3 папок  253 389 438 976 байт свободно
    

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

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

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

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

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

    d:\html\css>rmdir js

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

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

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

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

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

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

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

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

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

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

    d:\html>del blog.txt

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

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

    d:\html>dir
     Содержимое папки d:\html
    
    03.11.2020  19:23    <DIR>            .
    03.11.2020  19:23    <DIR>            ..
    03.11.2020  19:59                 0 blag.txt
    
    d:\html>ren blag.txt blog.txt
    
    d:\html>dir
     Содержимое папки d:\html
    
    03. 11.2020  19:23    <DIR>            .
    03.11.2020  19:23    <DIR>            ..
    03.11.2020  19:59                 0 blog.txt
    

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

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

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

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

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

    d:\html>ipconfig
    Настройка протокола IP для Windows
    Адаптер Ethernet Ethernet 2:
    
       Состояние среды. . . . . . . . : Среда передачи недоступна. 
       DNS-суффикс подключения . . . . . :
    

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

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

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

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

    d:\html>help tree
    Графическое представление структуры папок или пути.
    
    TREE [диск:][путь] [/F] [/A]
    
       /F   Вывод имен файлов в каждой папке.
       /A   Использовать символы ASCII вместо символов национальных алфавитов. 
    

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

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

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

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

    Как начать пользоваться командной строкой (linux/win/mac) · GitHub

    Этот урок переехал в мой гитхаб: https://github.com/codedokode/pasta/blob/master/soft/cli.md

    Ниже — старая, неактуальная версия.


    Как начать пользоваться командной строкой

    Я не знаю, ты пользуешься Линуксом или Уиндоузом (обычно туториалы рассчитаны на линуксоидов и макосников, уиндоуз не модный среди молодежи). В макоси все практически так же как и в линуксе, в windows пошли своим путем и сделали все как в DOS.

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

    Краткий мануал чайника по командной строке:

    Как попасть в командную строку?

    • Windows XP: Пуск — Выполнить — набрать cmd — нажать [enter]
    • Windows7: Пуск — набрать cmd — наждать [enter]
    • MacOS: Запустить приложение Терминал (его можно найти поиском в той фигне которая справа вверху экрана)
    • Ubuntu: Запустить приложение Терминал или нажать Alt + Ctrl + F1 (ааа как вернуться назад? Ctrl + F7)
    • Linux: если ты линуксоид, ты и так знаешь

    Во всех операционных системах

    ↑,↓ — стрелки вверх и вниз в командной строке позволяют смотреть предыдущие введенные команды, чтобы 2 раза не набирать. В Windows при закрытии окошка консоли вся история теряется, в других ОС — сохраняется.

    [tab] — автодополняет имена файлов и команды. Если в текущем каталоге есть файл file.txt, ты наберешь fi и нажмешь [tab] то он автодополнит имя файла (или предложит варианты, если таких файлов несколько).

    [ctrl+c] — прерывает выполнение команды, например, если она долго тупит

    Важно: клавиша Esc не работает в командной строке. Клавиши Ctrl + C, V, X не работают как «копировать/вырезать/вставить» (иногда для вставки можно использовать Shift + Ins). Клавиша Ctrl + Q не работает как «выход».

    Линукс и мак

    В линуксе и маке, [ctrl+l] очищает экран, [ctrl+k] и [ctrl+u] удаляют все перед или после курсора, [ctrl+w] удаляет слово перед курсором, [ctrl+r] делает поиск по истории команд (для отмены поиска нажми [ctrl+c], escape в командной строке не работает, для завершения поиска нажми стрелку вправо/влево), [ctrl+d] завершает работу и закрывает консоль.

    Еще в линуксе и маке иногда не работают Home и End, используй [ctrl+a] чтобы перейти в начала строки и [ctrl+e], чтобы в конец. [alt + b] (back) и [alt + f] (forward) двигают курсор на 1 слово назад/вперед.

    Буфер обмена

    В командной строке не работает ctrl+v,c,x для вставки, копирования и вырезания текста. Иногда (зависит от настроек системы) вставить текст можно через [shift+ins], иногда правой кнопкой мыши. Скопировать текст можно, выделив мышью (в Windows надо разрешить выделение текста сначала в настройках окна и нажать Enter после выделения).

    Текущий каталог

    В командной строке результат выполнения команд зависит от того, в каком каталоге и на каком диске ты находишься. Какой каталог текущий, в Windows написано в подсказке, а в linux можно узнать командой pwd (print working directory)

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

    cd /  — перейти в корневой каталог (в линукс нет букв дисков, и корневой каталог один на всю систему)
    cd /etc/apache — перейти в каталог /etc/apache
    cd files — переходит в каталог files внутри текущего
    cd .. — переходит в родительский кталог
    cd ../.. — переходит на 2 уровня выше
    cd ~ — перейти в свой домашний каталог (/home/anon например)
    cd ~/test — перейти в /home/anon/test
    

    В Windows, сначала надо перейти на нужный диск командой c:, d:, e: и так далее. Потом использовать cd или chdir:

    d:   - перейти на диск d:
    cd \ — перейти в корневой каталог
    cd \windows\system32
    cd . .
    cd ..\..
    

    Обрати внимание, windows и linux используют разные виды слешей. Обрати внимание, .. обозначает «родительский каталог». Обрати внимание, только в линукс и мак ~ обозначает «домашний каталог» (это /home/username или /Users/username). . (одна точка) обозначает текущий каталог и cd . никуда не перейдет. / (линукс) или \ (Windows) обозначает корневой каталог.

    Очистка экрана

    В linux — команда clear или клавиша [ctrl+L], в windows — команда cls (clear screen).

    Список файлов

    Посмотреть, какие файлы есть в текущем каталоге, можно командой dir в Windows и командой ls в линуксе (ls -a — показывает все файлы, включая скрытые, ls -l — показывает не только имена, но и размер, дату создания файла, права на него).

    Посмотреть права на файл в Линукс можно либо командой ls -l, либо stat file. txt

    Команды и оболочка

    Оболочка — это cmd.exe в Windows и bash в линукс, это та программа, которая собственно мигает курсором и выполняет твои команды. Ты набираешь команды, а она их выполняет. Команда обычно состоит из имени команды, и, иногда, дополнительных параметров, отделенных пробелом, вроде:

    ls — показать список файлов в линукс
    ls -l — показать файлы с подробностями
    dir — показать список файлов в windows с подробностями
    dir /b — показать только имена файлов, без подробностей
    

    Подсказка

    Почти у любой команды есть подсказки. Чтобы их увидеть, добавь к имени команды параметр (--help или /?):

    В линукс: ls --help — выведет справку по команде ls

    В линукс: man bash — выведет подробную длинную справку по команде bash (для выхода жми q, для прокрутки используй стрелки и PgUp/PgDn)

    В Windows: dir /? — выведет справку по команде dir

    В Windows: help выведет подсказку по основным командам

    Виды команд

    Команды бывают внутренние (это маленький список команд, встроенных в оболочку). Встроенные команды — это, например, cd в линукс или exit в Windows. Их мало.

    Внешние команды — их большинство — это фактически программы, лежащие на диске. Оболочка ищет их не по всему диску, а только в заранее заданных папках. Список папок перечислен в специальной переменной PATH. Просмотреть эту переменную можно так:

    В линуксе: echo $PATH

    В windows: echo %PATH%

    В linux PATH — это папки /bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, именно в них в Линуксе хранятся почти все программы. В текущем каталоге програмы не ищутся, если это не указать явно.

    В Windows PATH — это всякие системные папки вроде c:\windows и так далее + текущий каталог, в котором ты находишься. Заметь, что папки вроде c:\program files\autocad в PATH не добавлены и в Windows таким образом, из командной строки обычные программы и игры, установленные в Program Files, не запустить. Только то, что положено в системные папки.

    Таким образом: если ты под линуксом, и ты набираешь команду php, то скорее всего файл php лежит в одной из *bin папок и эта команда запустит php. Если ты под Windows установил php допустим в c:\php, и не прописал этот путь в PATH, то набрав php, оболочка не найдет файл php.exe и ничего не запустит. И ты скажешь «что за кривой мануал, ничего не работает, ну его нафиг».

    Печалька.

    Что же делать? 1) добавить папку с php в PATH через мой компьютер — свойства и перезалогиниться в систему 2) писать вместо php полный путь c:\php\php.exe

    Продолжаем. Допустим, ты хочешь запустить в командной строке файл my.php , который находится в текущем каталоге:

    Линукс: php my.php
    Windows: c:\php\php.exe my.php
    

    Допустим, ты хочешь запустить php-файл не из текущего каталога. Тогда надо написать путь к нему:

    Линукс: php /some/dir/my.php
    Windows: c:\php\php.exe d:\files\my.php
    

    В общем, проще запускать файлы из текущег каталога, чем мучаться с путями.

    Больше команд — linux

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

    Создать текстовый файл: cat > file. txt [enter] ввести текст [enter][ctrl+d] — и файл создан
    Просмотреть текстовый файл: cat file.txt
    Просмотреть огромный текстовый файл, который не влеазает на экран: cat file.txt | less 
    В просмотрщике работают стрелки и q для выхода (escape не работает).
    Удалить файл: rm file.txt
    Скопировать файл: cp file.txt copy.txt
    Переместить/переименовать файл: mv file.txt copy.txt
    Скопировать в другую папку: cp file.txt /some/other/directory
    Запустить команду и сохранить ее вывод в файл: ls -la > file.txt (эта команда выведет список файлов, но не на экран, а сохранит в файл. Бывает иногда полезно).
    Вывести файл, но не весь, а только первые 10 строк: cat file.txt | head -10
    Вывести последние 10 строк файла:  cat file.txt | tail -10
    Вывести только строки файла, содержащие слово «dog»: cat file.txt | grep dog
    Найти файлы, в имени которых есть «dog», в каталоге /tmp: find /tmp -iname '*dog*'
    Узнать текущее время: date
    Создать папку: mkdir folder
    Удалить папку: rm -r folder
    Померять, сколько времени выполнялась команда: time [команда]
    Узнать свой id пользователя: id
    Показать список запущенных процессов: ps -lax
    Показать что-то вроде диспетчера задач: top (для выхода q)
    Запустить редактор, из которого хрен выйдешь, так как никакие привычные кнопки не работают: vi
    

    Подробнее о работе команд можно узнать с помощью параметра --help, дописанного после команды.

    Больше команд — Windows

    Попрактиковаться в комнадной строке в Windows можно так:

    help — выводит список полезных команд
    dir — выводит файлы в каталоге
    Создать текстовый файл: copy con file.txt[enter]ввести текст[enter][ctrl+z][enter] — файл создан
    Просмотреть текстовый файл: type file.txt
    Просмотреть огромный текстовый файл: type file.txt | more (enter — прокрутка, q — выход)
    Удалить файл: del file.txt
    Скопировать файл: copy /b file.txt copy.txt
    Переименовать файл: ren file.txt copy.txt
    Запустить команду и сохранить вывод в файл: dir /? > file.txt
    Создать текстовый  файл с одной строкой текста: echo lalala lololo > file.txt
    Дописать строчку в конец файла: echo boom >> file.txt
    Создать папку: mkdir folder
    Удалить папку: rmdir folder
    Узнать текущее время: time и date (ctrl+с для выхода)
    

    Подробнее о работе команд можно узнать с помощью параметра /?, дописанного после команды.

    Команды для работы с сетью Интернет

    В линукс показать информацию о настройке сети: ifconfig (или /sbin/ifconfig если у тебя в PATH нет /sbin)

    В Windows показать информацию о сети: ipconfig

    Пропинговать (проверить связь) с сервером: ping google.com

    Узнать IP по имени домена: nslookup yandex.ru

    Показать список открытых с компьютера соединений: netstat (в подсказке по команде указаны также параметры, с помощью которых, например, можно вывести какая программа установила это соединение) Проверить путь до какого-то сервера или узла сети:

    • в Windows: tracert google.com
    • в linux: traceroute google.com (не работает? пиши /usr/sbin/traceroute или пропиши уже себе sbin в PATH)

    Больше информации

    Используй ключи --help и /?

    Гугли мануал по командной строке windows/linux в интернете.

    http://archive-ipq-co.narod.ru

    Работа в командной строке Windows

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

    Наиболее часто встречающиеся рекомендации по запуску звучат так: Пуск, выполнить, cmd. В меню пуск присутствует пункт Выполнить. Он запускает программу, которая позволяет передавать единичные команды системе Windows. В данном случае команда cmd запускает исполняемый файл cmd.exe, находящийся в папке system32.

    C:\WINDOWS\system32\cmd.exe

    На некоторых версиях Windows пункт меню выполнить по умолчанию убран. В этом случае жмёте + R, вводите cmd, далее Enter. Также можно запустить командную строку непосредственно из папки system32, сделав ярлык для запуска на рабочем столе (кликаем на cmd.exe правой клавишей мыши и в меню выбираем пункт Отправить/Рабочий стол) или же через диспетчер задач (кнопка новая задача — cmd).

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

    нужно будет изменить её настройки. Жмём правой клавишей на окне cmd и выбираем умолчания. Стоит сразу отметить, что настройки умолчаний относятся к cmd.exe в целом, а свойства — к конкретному открытому окну.

    В появившемся окне свойств командной строки видим четыре вкладки:

    На вкладке Параметры стоит отметить пункты отбрасывать повторения (чтобы снизить заполнение буфера команд) и выделение мышью (чтобы можно было использовать мышь в работе).

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

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

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

    Также если строка не впишется в ширину окна это приведёт к её переносу. Воспринимать представленную таким образом информацию менее удобно. Поэтому буфер я ставлю всегда намного больше размеров окна. Это позволяет просмотреть большие объёмы информации, воспользовавшись полосами прокрутки справа и снизу. Картинка ниже кликабельна. На превью показано начало вывода команды dir для папки system32, а нажав на превью можно увидеть хвост вывода (обратите внимание на полосу прокрутки справа — данных очень много).

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

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

    help  -  вывод справки по командам
    help CD или CD /?  -  вывод справки по одной команде (для команды CD)
    
    cd  -  переход в корневой каталог
    cd ..  -  переход в родительский каталог
    D:  -  переход на диск D.
    
    dir  -  вывод всего содержимого папки
    dir *.exe  -  вывод списка exe-файлов папки
    cls - очистить экран командной строки

    Командная строка запоминает команды, которые вы вводите. Листать их можно клавишами ⇑ и ⇓. Можно просматривать содержимое папки при помощи клавиши Tab (Shift+Tab листает в обратном порядке). Можно пролистать файлы на конкретную букву или буквы. Например, напечатав букву s и нажимая Tab, можно пролистать только файлы и папки, начинающиеся на эту букву (system, system32, system.ini и т.д.) . Как это можно использовать:

    Например, вам надо перейти из корня диска C в папку system32, найти и запустить в ней контрольную панель. Можно просто напечатать:

    C:\windows\system32\control.exe

    Но это не всегда быстро и удобно, к тому же не всегда знаешь – что конкретно надо набирать. Поэтому можно набрать команду cd, затем после пробела набрать wi, пролистать клавишей Tab до папки Windows, поставить после неё слэш, набрать буквы sy, пролистать клавишей Tab до папки system32, затем опять слэш и то же самое с control.exe.

    C: cd windows\system32\control.exe

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

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

    В заключение статьи скажу, что cmd.exe — это просто программа ввода-вывода, такая же, как и блокнот. Разумеется, есть более продвинутые аналоги, которыми тоже можно пользоваться. Одна из таких программ — Console Portable

    Кстати, в операционной системе GNU Linux командную строку можно вызывать прямо из папки. При этом строка откроется сразу с адресом папки и его не надо будет набивать вручную. В Windows для того, чтобы открыть командную строку непосредственно в папке, необходимо, зажав Shift,  нажать правую клавишу мыши и выбрать в меню пункт «Открыть окно команд».

    Также можно добавить эту возможность (и целый ряд других) с помощью программы расширения контекстного меню FileMenu Tools:

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

    Консоль Windows и ее самые распространенные команды — TestMatick

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

    Сначала давайте определим, что такое консоль.

    Консоль – это ПО, которое используется для ввода команд и вывода уведомлений системы. Консоль еще называют командной строкой. Это специальная утилита, обеспечивающая поддержку прямой связи пользователя с ОС. Текстовый интерфейс консоли (руководство программами и приложениями ОС) выполняется непосредственным написанием команд в текстовом виде.

    cmd.exe – это главная консоль, которая переводит команды пользователя в простой для восприятия системы вид. Размещена она в папке установленной операционной системы и имеет следующий путь: буква системного диска: \WINDOWS\system32\cmd.exe.

    Консоль cmd.exe

    Существует четыре способа запуска командной строки:

    1. Одновременно зажимаем клавиши Win + R, вводим cmd;
    2. Заходим в меню «Пуск», далее «Все программы», «Стандартные» и затем переходим в пункт «Командная строка»;
    3. Активация из папки системы: буква системного диска: \WINDOWS\system32\cmd.exe;
    4. Меню «Пуск», вводим название программы и выполняем (cmd.exe).

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

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

    Редактирование текста в консоли

    Что касается изменения текста в командной строке Windows, то здесь универсальные методы скопировать-вставить (Ctrl+C и Ctrl+V) не подойдут. Тут нужно работать правой клавишей мыши.

    Изначально, функция копирования текстовой информации из командной строки отключена. Для ее активации следует:

    1. На заглавном окне командной строки нажать правой кнопкой мыши, выбрать пункт меню «Свойства»;
    2. Поставить галочки рядом с функциями «Быстрая вставка» и «Выделение мышью».

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

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

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

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

    Самые распространенные команды в консоли Windows

    Основными командами в консоли Windows считаются:

    • Команда shutdown: создание ярлыка завершения работы Windows. С помощью этой команды можно перезапустить или выключить Windows из консоли. Также можно создавать личные ярлыки по типу «Перезагрузка», «Сон», «Завершение работы» и разместить их в любом удобном месте: рабочий стол, панель задач, меню «Пуск».
    • Команда ipconfig: скоростная работа с сетевыми интерфейсами ПК. Эта утилита помогает управлять сетевыми соединениями компьютера. Она может максимально быстро находить адрес основного шлюза, IP-адрес, данные о подключении к сети, используемые вашим ПК и т. п.
    • Команда help: вызов справки консоли Windows. Данная команда помогает получить справки об основных командах ОС Windows.

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

    • Start: запустить программу или файл команды.
    • Dir: демонстрация всего перечня файлов и каталогов на рабочем столе.
    • Cd: для изменения каталога, перехода в нужную папку на съемном или жестком диске ПК.
    • Copy: скопировать файл или каталог. Для этого необходимо вписать путь к файлу, который мы хотим скопировать и папку, куда его необходимо поместить.
    • Move: переместить файл или каталог.
    • Del: удалить файл (один или несколько).
    • Md: создать новый каталог или папку для скопированных файлов.
    • Rd: удалить каталог.
    • Edit: открыть редактор текста.
    • Cls: очистить дисплей в консоли.
    • Exit: выйти из процесса или файла команды. Для завершения работы Windows, следует ввести команду «logoff», а для полного выключения ПК – «shutdown» с «/s».

    В заключение

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

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

    Знакомство с командной строкой · HonKit

    Для тех, кто проходит руководство дома: о материале этой главы рассказывает видео Ваш новый друг — командная строка.

    Вот это да! Всего через несколько минут ты напишешь свою первую строку кода! 🙂

    Позволь представить нашего первого нового друга: командную строку!

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

    Примечание Пожалуйста, обрати внимание, что в этом руководстве мы используем термины «каталог» и «папка» взаимозаменяемо: эти слова обозначают одно и то же.

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

    Окно, которое обычно называют командной строкой или интерфейсом командной строки (англ. CLI, Command Line Interface), является текстовым приложением для просмотра, обработки и манипулирования файлами на вашем компьютере. Она делает то же, что и Проводник в Windows или Finder в Mac OS X, но у неё нет графического интерфейса. Другими названиями для командной строки являются: cmd, CLI, prompt, консоль или терминал.

    Открываем интерфейс командной строки

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

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

    • Перейди в меню Пуск (или на экран Пуск), в строке поиска набери «Командная строка».
    • Перейди в меню Пуск → Windows → Командная строка.
    • Перейди в меню Пуск → Все программы → Служебные → Командная строка.
    • Перейди на экран Пуск, наведи мышь на нижний левый угол экрана и нажми на стрелочку вниз, которая появится там. (Если у тебя тачскрин, листни пальцем снизу вверх.) Откроется страница «Приложения». Выбери пункт «Командная строка» в разделе «Windows».
    • Удерживая клавишу Windows на клавиатуре, нажми X. В появившемся меню выбери пункт «Командная строка».
    • Удерживая клавишу Windows, нажми R, чтобы появилось окно «Выполнить». Набери в строке cmd и нажми OK.

    В какой-то момент тебе понадобятся два окна командной строки одновременно. Однако в некоторых версиях Windows, если ты попытаешься запустить вторую командную строку, когда одна уже запущена тем же способом, ты вместо этого попадёшь в уже открытое окно командной строки. Попробуй у себя на компьютере и посмотри, что будет! Если у тебя получается открыть только одно окно командной строки, попробуй какой-нибудь другой из вышеприведённых способов в списке. По крайней мере один из них сможет открыть новое окно командной строки.

    Перейди в Приложения → Прочие → Терминал.

    Вероятно, командная строка скрывается по адресу: Приложения → Стандартные → Терминал или Приложения → Система → Терминал, но это может зависеть от конкретной системы. Если не сможешь найти — Google поможет 🙂

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

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

    Если у тебя Mac или Linux, ты, скорее всего, увидишь знак $ в конце строки (перед курсором):

    command-line

    $
    

    Если у тебя Windows, строка будет оканчиваться символом >, вот так:

    command-line

    >
    

    Можешь заглянуть в инструкцию для пользовательниц Linux чуть выше — нам что-то подобное ещё встретится, когда мы дойдём до PythonAnywhere.

    Перед каждой твоей командой будет стоять знак $ или > и пробел. Но тебе не нужно их печатать! Компьютер уже сделал это за тебя. 🙂

    Небольшое примечание: перед курсором командной строки может быть написано что-то вроде C:\Users\ola> или Olas-MacBook-Air:~ ola$. Это абсолютно нормально.

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

    Далее в руководстве перед каждой командой, которую тебе нужно будет ввести, мы будем писать символ $ или >. Иногда слева от него мы будем добавлять ещё немного текста. Не обращай внимания на левую часть и просто печатай команду — она начинается после специального символа.

    Твоя первая команда (УРА!)

    Давай введём следующую команду:

    Теперь нажми Enter. Вот что получилось:

    command-line

    $ whoami
    olasitarska
    

    Как видишь, компьютер только что вывел на экран твоё имя пользователя. Классно, а? 🙂

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

    Основы

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

    Текущий каталог

    Было бы неплохо знать, где мы находимся сейчас, верно? Давай посмотрим. Набери эту команду и нажми Enter:

    command-line

    $ pwd
    /Users/olasitarska
    

    Примечание: ‘pwd’ означает ‘print working directory’ (вывести рабочий каталог).

    command-line

    > cd
    C:\Users\olasitarska
    

    Примечание: ‘cd’ означает ‘change directory'(сменить каталог). Если ты пользуешься PowerShell, можешь ввести pwd — как на Linux или Mac OS X.

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


    Как узнать больше о командах

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

    В OS X и Linux есть команда man — справка о других командах (на английском языке). Набери man pwd и посмотри, что пишут о команде pwd. Используй man с другими командами, чтобы посмотреть для них справку. Как правило, справки man выводятся постранично. Нажми пробел, чтобы перейти на следующую страницу. Чтобы выйти, нажми q.

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

    Список файлов и каталогов

    Так что же в нем? Было бы здорово узнать. Давай посмотрим:

    command-line

    $ ls
    Applications
    Desktop
    Downloads
    Music
    ...
    

    command-line

    > dir
     Directory of C:\Users\olasitarska
    05/08/2014 07:28 PM <DIR>      Applications
    05/08/2014 07:28 PM <DIR>      Desktop
    05/08/2014 07:28 PM <DIR>      Downloads
    05/08/2014 07:28 PM <DIR>      Music
    ...
    

    Примечание: в PowerShell можешь использовать ‘ls’ — как в Linux или Mac OS X.


    Смена текущего каталога

    Теперь вернёмся в наш каталог рабочего стола:

    command-line

    $ cd Desktop
    

    command-line

    $ cd Desktop
    

    Обрати внимание, что название каталога «Desktop» может быть переведено на язык твоей учётной записи в системе Linux. В таком случае набери вместо Desktop переводное название: например, Рабочий стол (в кавычках — они нужны, чтобы командная строка поняла кириллицу).

    command-line

    > cd Desktop
    

    Проверь, что рабочий каталог действительно изменился:

    command-line

    $ pwd
    /Users/olasitarska/Desktop
    

    command-line

    > cd
    C:\Users\olasitarska\Desktop
    

    Вот и он!

    Совет от профи: если ты введешь cd D и затем нажмешь tab на клавиатуре, в командной строке будет автоматически набрана остальная часть имени, что позволит быстрее перемещаться по каталогам. Если c «D», начинается название не одной папки, нажми Tab дважды, чтобы получить список вариантов.


    Создание каталога

    Как насчет создания каталога practice на рабочем столе? Ты можешь сделать это так:

    command-line

    $ mkdir practice
    

    command-line

    > mkdir practice
    

    Эта маленькая команда создаст папку с именем practice на рабочем столе. Ты можешь проверить, появилась ли она, просто взглянув на рабочий стол или введя команду ls (для Linux и macOS) или dir (если у тебя Windows)! Попробуй. 🙂

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


    Тренируемся!

    Небольшая задачка: в недавно созданной папке practice создай папку с названием test. Используй команды cd и mkdir.

    Решение:

    command-line

    $ cd practice
    $ mkdir test
    $ ls
    test
    

    command-line

    > cd practice
    > mkdir test
    > dir
    05/08/2014 07:28 PM <DIR>      test
    

    Поздравляем! 🙂


    Чистка

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

    Во-первых, мы должны вернуться на рабочий стол:

    Используя .. с командой cd, ты можешь сменить текущий каталог на родительский (то есть каталог, который содержит в себе текущий).

    Проверь, где ты находишься:

    command-line

    $ pwd
    /Users/olasitarska/Desktop
    

    command-line

    > cd
    C:\Users\olasitarska\Desktop
    

    Пришло время удалить каталог practice:

    Внимание: удаление файлов с помощью del, rmdir или rm необратимо. Это означает, что удалённые файлы будут потеряны навсегда! Поэтому будь очень осторожна с этими командами.

    Windows Powershell, OS X и Linux

    command-line

    $ rm -r practice
    
    Командная строка Windows

    command-line

    > rmdir /S practice
    practice, Are you sure <Y/N>? Y
    

    Готово! Давай проверим, что папка действительно удалена:

    Выход

    Вот и всё на данный момент! Теперь можно безопасно закрыть командную строку. Давай сделаем это как хакеры, согласна? 🙂

    Круто, да?:)

    Подведём итоги

    Вот краткий обзор некоторых полезных команд:

    Команда (Windows) Команда (Mac OS / Linux) Описание Пример
    exit exit закрыть окно exit
    cd cd изменить каталог cd test
    cd pwd вывести текущий каталог cd (Windows) или pwd (Mac OS / Linux)
    dir ls список каталогов/файлов dir
    copy cp копировать файл copy c:\test\test.txt c:\windows\test.txt
    move mv переместить файл move c:\test\test.txt c:\windows\test.txt
    mkdir mkdir создать новый каталог mkdir testdirectory
    rmdir (или del) rm удалить файл del c:\test\test.txt
    rmdir /S rm -r удалить каталог rm -r testdirectory
    [CMD] /? man [CMD] справка для команды cd /? (Windows) или man cd (Mac OS / Linux)

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

    Если тебе интересно, на ss64.com можно найти полный справочник команд для всех операционных систем (на английском языке).

    Готова продолжить?

    Давай погрузимся в мир Python!

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

    Богатый

    Добро пожаловать в третий пост из серии статей о командной строке Windows. В этом посте мы начнем копаться во внутреннем устройстве Windows Console и Command-Line, что это такое, что делает… и чего не делает.

    Сообщения из серии «Командная строка Windows»

    Примечание: этот список глав будет обновляться по мере публикации новых сообщений:

    1. Справочная информация
    2. Развитие командной строки Windows
    3. Внутри консоли Windows [Этот пост]
    4. Знакомство с псевдоконсолью Windows (ConPTY)
    5. Буфер текста вывода Unicode и UTF-8

    [Обновлено 20.07.2018 для улучшения читаемости и уточнения некоторых деталей Unicode / UTF-x]

    Во время начальной разработки Windows NT, примерно в 1989 году, не было графического интерфейса пользователя, не было рабочего стола, была ТОЛЬКО полноэкранная командная строка, которая визуально больше напоминала MS-DOS, чем будущую.Когда начала появляться реализация графического интерфейса пользователя Windows, команде потребовалось приложение с графическим интерфейсом для консоли, и, таким образом, родилась консоль Windows. Консоль Windows — одно из первых приложений с графическим интерфейсом пользователя Windows NT и, безусловно, одно из старейших приложений Windows, которые все еще широко используются.

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

    Как мы узнали из предыдущих постов, работа терминала относительно проста:

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

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

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

    Как видно из архитектуры консоли выше, в отличие от терминалов NIX, консоль отправляет / принимает вызовы API и / или данные, сериализованные в сообщения управления вводом-выводом (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 — это «диспетчер объектов»!

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

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

    1. Console API : вместо того, чтобы полагаться на способность программистов генерировать «трудные для проверки» ANSI / VT-последовательности, консолью Windows можно манипулировать и контролировать через многофункциональный консольный API
    2. Общие службы : Чтобы каждая оболочка командной строки не повторно реализовывала одни и те же службы снова и снова (например,грамм. Command History, Command Aliasing), сама консоль предоставляет некоторые из этих сервисов, доступных через Console API
    3. .

    Хотя API консоли оказался очень популярным в мире инструментов и служб командной строки Windows, модель, ориентированная на API, представляет некоторые проблемы для сценариев командной строки:

    Командная строка Windows и межплатформенное взаимодействие

    Многие инструменты и приложения командной строки Windows широко используют Console 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 Command-Lines были простыми для доступа и управления с удаленного компьютера / устройства: пока терминал и приложение командной строки может обмениваться потоками символов через некоторый тип упорядоченной инфраструктуры последовательной связи (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, где приложения командной строки запускаются подключенными к приложениям терминала. Звучит хорошо, правда? Ну нет; здесь есть некоторые проблемы, потому что Console работает немного иначе:

    • Консоль и приложение командной строки обмениваются данными через сообщения IOCTL через драйвер, а не через текстовые потоки (как в * NIX)
    • Windows требует, чтобы ConHost.exe — это консольное приложение, которое подключено к приложениям командной строки
    • Windows контролирует создание коммуникационных «каналов», по которым консоль и приложение командной строки обмениваются данными.

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

    Увы, история здесь не очень удачная: есть несколько отличных сторонних консолей (и серверных приложений) для Windows (e.грамм. 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 Console, посвященную распутыванию и улучшению инфраструктуры консоли и командной строки 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 байта на символ

    UTF-8 — самая популярная кодировка сегодня, благодаря ее требованиям к эффективному хранению и широкому использованию на HTML-страницах. 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 — сериализует вызовы 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 за то, что они помогли сохранить этот пост точным и сбалансированным — Майклу, Майку, Дастину и Остину — вы молодцы! 😃]

    Рич Тернер

    СтаршийДиспетчер программ, консоль Windows и командная строка

    Подписаться

    Представляем терминал Windows | Командная строка Windows

    Кайла

    Мы очень рады объявить о 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 / Терминал

    Этим летом 2019 года предварительные версии Windows Terminal будут выпущены в Microsoft Store, чтобы ранние пользователи могли использовать их и оставлять отзывы.

    Этой зимой 2019 года наша цель — запустить Windows Terminal 1.0, и мы будем работать с сообществом, чтобы обеспечить его готовность перед выпуском!


    [Happy Joy Gif — Giphy]

    Подождите… вы сказали «открытый исходный код»?

    Да, сделали! Мы рады объявить, что открываем исходный код не только для терминала Windows, но и для консоли Windows, в которой размещается инфраструктура командной строки в Windows и обеспечивается традиционный UX консоли.

    Нам не терпится поработать с вами над улучшением и расширением возможностей командной строки Windows!

    Звучит круто, но почему бы вам просто не улучшить существующую консоль Windows?

    Основная цель Windows Console — сохранить обратную совместимость с существующими инструментами командной строки, скриптами и т. Д. Хотя нам удалось внести множество ключевых улучшений в функции консоли (например, добавление VT и поддержки 24-битного цвета и т. Д.) . см. это сообщение в блоге), мы не можем внести дальнейшие значимые улучшения в пользовательский интерфейс консоли, не «ломая мир».”

    Таким образом, пришло время для нового, свежего подхода.

    Windows Terminal устанавливается и запускается вместе с существующим встроенным приложением Windows Console. Если вы запустите Cmd / PowerShell / etc. напрямую, они начнут подключаться к традиционному экземпляру консоли точно так же, как и сегодня. Таким образом, обратная совместимость остается неизменной, но при этом у вас есть возможность испытать Терминал Windows, если / когда вы захотите это сделать. Консоль Windows будет поставляться в составе Windows еще несколько десятилетий, чтобы поддерживать существующие / унаследованные приложения и системы.

    Хорошо, но как насчет того, чтобы вместо этого внести свой вклад в существующий проект терминала / приложения с открытым исходным кодом?

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

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

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

    Продан! Как я могу принять участие?

    Посетите репо по адресу https://github.com/Microsoft/Terminal, чтобы клонировать, создавать, тестировать и запускать Терминал! Вы можете сообщать об ошибках и делиться отзывами с нами и сообществом, а также исправлять проблемы и вносить улучшения на GitHub.

    Начиная с этого лета попробуйте установить и запустить Терминал Windows из Microsoft Store. Если вы обнаружите какие-либо ошибки, поделитесь отзывами через Центр отзывов или проблемы на GitHub, чтобы получить подробные сведения о проблемах / обсуждениях.

    Мы очень рады работать с вами! Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь обращаться к Кайле @cinnamon_msft и / или Rich @richturn_ms в Twitter. Нам не терпится увидеть, какие замечательные улучшения и функции вы внесете в Терминал Windows и Консоль Windows.

    Авторы: Кайла Корица, Рич Тернер

    Кайла Корица

    Program Manager II, терминал Windows, консоль, командная строка и код Cascadia

    Подписаться

    Использование консоли Windows

    Использование консоли Windows

    Праймер для новых пользователей SNDAN

    Запуск консольной сессии.
    Команды DOS
    Перенаправление
    Подстановочные знаки
    Свойства консоли
    Запуск программ
    Системные переменные PATH и среды
    Пакетные файлы

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

    Терминология .

    Существует ряд терминов с эквивалентным значением, используемых для обозначения консоли. окно. Это может быть «сеанс DOS» или «окно DOS» (где DOS также может быть «MSDOS»), «окно терминала», термин, наиболее часто используемый в системах Unix, таких как как Linux, «окно командной строки» или «командная оболочка» (из понятия что он действует как безопасная и удобная «оболочка» для операционной системы основные команды). Все эти термины означают, по сути, одно и то же, что здесь называется «Консольное окно».

    Есть одно языковое различие. Проводник Windows (и документация Windows обычно) относится к файлам и папкам. Последний должен быть «дружеское» слово. Однако в сеансе консоли более старый термин «каталог» по-прежнему более широко используется и является основой многих имен команд.

    Запуск консольного сеанса.

    Консоль Windows доступна с помощью кнопки «Пуск» на панели задач; она называется «Командная строка» или «Подсказка MSDOS» в зависимости от ОС; в почти неразборчивый значок на самом деле содержит буквы «MSDOS».Нажмите в меню, и появится окно консоли.

    Щелкните меню еще раз, появится другая консоль. Каждое окно представляет собой индивидуальный сеанс; они могут работать полностью независимо, и даже настраиваться самостоятельно. На последней отображаемой строке текста вы увидите небольшую мигающую полосу — курсор. Это «командная строка» сам. Когда вы вводите символы, вы видите их в точке курсора. Не надо нажмите , пока вы пробуете это — вы можете случайно что-то сделать нежелательно! Клавиша Enter дает команду «сделать это», так же как и делает большую часть времени в приложении Windows GUI.Набрав несколько случайные символы, нажмите клавишу Escape, чтобы убрать подсказку.

    Команды DOS .

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

    доской

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

    Командная строка может выглядеть примерно так:

    C: \ WINDOWS>

    Вы можете узнать это как «путь» — каталог Windows на Диске. C, в данном случае. Теперь найдите каталог, содержащий некоторые из ваших звуковых файлов, с помощью проводника Windows. Отображает ли строка заголовка проводника ‘полный путь’ к каталогу, в котором вы находитесь? Если нет, вам нужно изменить настройки для Explorer, чтобы сделать это.Вам это понадобится, чтобы куда бы вы ни пошли с помощью проводника, вы можете увидеть полный путь в заголовке бар. В Windows 9x перейдите в меню «Просмотр» -> «Параметры». В Windows NT или Windows2000, перейдите в Инструменты -> «Параметры папки» и выберите вкладку «Просмотр». Активируйте опцию «Показать полный путь к MSDOS в строке заголовка». Теперь, когда вы переходите к новому папку в проводнике, вы можете увидеть точный путь к вводу в окне консоли попасть в то же место.

    Используя проводник, перейдите на диск и в папку, в которую вы установили СНДАН.Допустим, это путь D: \ sndan.
    Перейдите в папку «Примеры» с помощью проводника. «Полный путь» меняется в D: \ SNDAN \ EXAMPLES \. Итак, вы можете видеть, что каждый уровень каталога обозначается косой чертой. Теперь вернитесь в консоль DOS. Если у него другой корневой диск из того, на котором установлен SNDAN, вам необходимо сменить диск прежде чем вы сможете сделать что-нибудь еще. Все, что вам нужно сделать, это ввести букву новый диск, за которым следует двоеточие, за которым следует , таким образом.

    д:

    приглашение консоли сразу же меняется.Корневой каталог диска D: теперь ваш новый «текущий каталог». Отсюда ты хочешь пойти в папку SNDAN, поэтому вам необходимо изменить каталог:

    cd sndan \ examples

    С помощью компакт-диска вы можете очень быстро переходить на уровни каталогов вверх и вниз. Две точки вместе означает «на уровень выше». Итак, если, выполнив указанную выше команду, теперь ты печатаешь

    кд ..

    вы обнаружите, что перешли «вверх» в каталог sndan.Введите команда

    дирек

    , чтобы увидеть список всего в этом каталоге.

    Теперь используйте doskey (стрелка вверх), чтобы вернуть эту команду, и нажмите . Теперь вы вернулись на верхний уровень, с которого начали. Теперь снова используйте doskey, дважды используя стрелку вверх. Это напоминает оригинальный компакт-диск инструкция, чтобы попасть в папку «примеры».

    Перенаправление

    cd и dir — это команды, которые вы будете использовать чаще всего.Некоторый каталоги содержат много файлов, и их может быть трудно увидеть все иногда. Одно необычное, но очень полезное решение — использовать перенаправление вывода на . Например, если вы хотите распечатать список всех файлов в определенном каталог, перейдите в него с помощью команды cd (сначала смените диск при необходимости) и введите следующую команду:

    директория> dirlist.txt

    Это записывает все, что было бы записано на экран, в текстовый файл «dirlist.txt «. Вы можете изучить его на досуге, распечатайте его и даже отправьте по электронной почте. Также вы можете отправить его другой программе, если эта программа предназначена для его приема. это называется «перенаправление ввода». Например, вы можете отправить вывод dir команде подробнее:

    C: \ WINDOWS> директория | подробнее

    Приостанавливает вывод на каждый экран, чтобы вы могли читать все это. нажмите пробел, чтобы прокрутить следующий экран, или чтобы получить еще одну строчку.Наконец, вы можете перенаправить текстовый файл в программу. Это зависит от программы, ожидающей ввода пользователя с клавиатуры (например, в ответ на подсказки). добавляет программ в SNDAN это можно сделать, например. Текстовый файл должен содержать именно ввод, полученный программой. Перенаправление ввода использует символ <, за которым следует имя текстового файла; он используется прямо в конце команды строка для используемой программы:

    addyn1 -i infile outfile

    Другой способ увидеть много вывода на экран см. Консоль . Недвижимость .

    Подстановочные знаки.

    Чтобы видеть только файлы определенного типа, вы можете использовать подстановочный знак * символ. Это означает «что угодно». Итак, если вы наберете:

    директория * .wav

    вы запрашиваете список всех файлов с расширением .wav. Эта система подстановочных знаков очень эффективна, поскольку означает, что вы можете запустить одну команду, который действует с большим количеством файлов.Как часто вам приходилось удалять старые звуковые файлы или старые текстовые файлы и тщательно отобрали каждый из них в проводнике (возможно, используя метод клавиши CTRL для выбора нескольких), а затем, наконец, нажав Удалить? Одной командой DOS

    del * .wav

    вы удалите ВСЕ файлы .wav в текущем каталоге. Использовать с уход!

    Это относится к SNDAN, поскольку весь графический вывод достигается путем создания графические файлы с расширением .eps . Они могут накапливаться быстро, и, возможно, вы захотите удалить их все в конце сеанс.Команда

    del * .eps

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

    Все графические файлы, созданные SNDAN, запускаются с буквами g_raph ….., за которыми следует случайный набор чисел. Эти являются «временными» именами файлов, автоматически создаваемыми Windows, и гарантируются быть уникальным каждый раз. Чтобы сохранить файл, переименуйте его во что-нибудь другое, но сохраняя.eps, конечно же. Например, чтобы сохранить файл g_raph001234.eps, переименовать это в ‘waveimage.eps’:

    ren g_raph001234.eps waveimage.eps

    Теперь удалите остаток с помощью этой команды:

    del g_raph * .eps

    Удаляются только файлы с именами, начинающимися с g_raph ; р новый файл вполне безопасен.

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

    справочная директория

    Вы увидите, что у команды есть несколько дополнительных функций!

    Свойства консоли.

    Есть несколько способов настройки внешнего вида консоли. окно: количество отображаемых строк, количество символов в строке, шрифт, и так далее. В зависимости от вашей операционной системы (Windows9x, NT, Window2000) вы можете щелкнуть прямо на кнопке панели инструментов «Свойства» или, если панели инструментов нет, щелкните правой кнопкой мыши строку заголовка, чтобы открыть контекст меню.

    Поэкспериментируйте со свойствами, пока не найдете внешний вид, который подходит ты. «Традиционный» размер окна DOS — 25 строк по 80 символов. Излишне говорить, что это излишне ограничительно. Ю будет знать, что вы можете установить как размер Windwo, так и размер внутреннего буфера независимо. Когда внутренний буфер больше физического размера (что может произойти когда вы изменяете его размер, как вы изменяете размер любого окна), окно консоли становится прокручиваемым. это средство давно используется пользователями Unix, но по-прежнему является относительной новинкой для пользователей MDSOS.Некоторые команды SNDAN могут печатать много текста в консоли и без возможности определения внутренний буфер большего размера (скажем, 200 строк) в сочетании с вертикальным (и даже при горизонтальной) прокрутке, большая часть этого текста будет потеряна навсегда.

    Запуск программ с помощью консоли.

    Существует два основных типа программ Windows. Самый известный из конечно, приложение с графическим интерфейсом, такое как Word, Блокнот, MediaPlayer и ваш любимый MIDI-секвенсор. Другой — «Консольное приложение» или что-то в этом роде. часто просто называют «программой командной строки».Фактически разница в том, что что последний является исключительно текстовым, не создает приложение окна и поддерживают «цикл сообщений», реагирующий на управление мышью (это это упрощение; при правильном программировании можно использовать мышь в сеансе DOS). Однако даже программы с графическим интерфейсом используют командную строку. Фактически вы можете запускать приложения с графическим интерфейсом пользователя из консоли DOS. Например, как только появится окно консоли, просто введите

    блокнот

    (и, конечно, нажать ).

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

    блокнот test.txt

    Блокнот запускается и открывает файл, если он существует; в противном случае он спрашивает если вы хотите его создать.

    А теперь попробуйте что-нибудь еще:

    mplayer / play tenor.wav

    Запускает MediaPlayer и воспроизводит запрошенный файл. Вы дали mplayer два аргумента командной строки.Первая — необязательная команда для немедленного воспроизведения звука второе значение — это имя файла для воспроизведения. часть мощи среды командной строки исходит из способности для предоставления ряда различных аргументов (или «параметров», если они числа)
    (Предполагается, что установлен MediaPlayer, что почти наверняка будет.)

    Системные переменные PATH и среды

    Hwever, чтобы иметь возможность запускать программу, DOS должна уметь ее находить. Если сама программа не находится в вашем текущем каталоге, она должна быть в одном каталогов, перечисленных в системном PATH.Вы можете узнать, что это за с помощью команды «путь». В зависимости от того, какое программное обеспечение вы установили, этот путь может составлять довольно длинный список. Системные каталоги Windows обязательно будет там, как и многие другие. Любые необычные могут быть добавлено инструкциями в файле AUTOEXEC.BAT в корневом каталоге диска C. Этот файл автоматически запускает команды DOS, включая команду ‘ set ‘, который присваивает имени текстовую строку. В этом случае весь Список путей присваивается имени ПУТЬ.Многие программы определяют свои собственные специальные символы; набрав команду « set », вы получите список всего, что было определено при загрузке машины.

    Программы командной строки, такие как SNDAN, часто полагаются именно на такие программы. «переменные среды». Что еще более важно, если вы хотите иметь возможность запускать Программы SNDAN из любого каталога (который вам понадобится), вам понадобится добавить в систему полный путь к каталогу, в котором они хранятся ДОРОЖКА. Лучше всего отредактировать AUTOEXEC.BAT и добавьте новый путь в конец существующего. Как вариант, вы можете скопировать все программы в каталог, который уже указан, возможно, C: \ UTILS, если он существует.
    Если вы редактируете список PATH, обратите внимание, что каждый путь в списке разделен от следующего через точку с запятой. Вам нужно будет тщательно придерживаться правила.

    Пакетные файлы

    Наконец, обратите внимание, что AUTOEXEC.BAT — это командный файл . Это просто файл с текстовыми командами, которые можно «запустить» так же, как запущена программа.Вместо того, чтобы вводить длинную команду прямо в командной строке DOS, введите ее в текстовый файл, дайте этому файлу имя с расширением .bat и запустите его введите имя файла. Убедитесь, что его имя не совпадает с названием программы. в вашем текущем каталоге или в PATH. Пакетные файлы отлично подходят для автоматизации последовательность команд или просто для выполнения одной сложной команды со многими аргументами. Они не такие мощные, как сценарии оболочки unix. могут быть (которые сами по себе могут составлять довольно сложные программы), но тем не менее может сделать довольно много.

    Вы можете использовать аргументы командной строки с пакетным файлом. Они подсчитаны из одного, командным процессором, и к нему можно получить доступ в пакете файл с префиксом%. Вот простой, но полезный пример, основанный на в приведенном выше примере MediaPlayer. Откройте блокнот или любой другой предпочтительный текстовый редактор и введите одну строку:

    mplayer / play% 1.wav

    Сохраните это как «play.bat». Вы запускаете это, как любую программу DOS, с единственный аргумент, имя волнового файла без калибра.расширение wav (заполняется пакетным файлом). Экономит немного набора текста!

    Два вопроса оставлены читателю в качестве упражнения. Что будет, если вы забыли указать аргумент имени файла play.bat ? Как мог командный файл отловить ошибку?

    [Вверх]
    [домашняя страница SNDAN]




    Введение в командную строку Windows

    Введение

    До создания Windows наиболее распространенной операционной системой, работающей на IBM PC-совместимых, была DOS.DOS означает дисковую операционную систему, и это то, что вы бы использовали, если бы вы запустили свой компьютер так же, как сегодня с Windows. Разница заключалась в том, что DOS была не графической операционной системой, а чисто текстовой. Это означало, что для запуска программ или управления операционной системой вам приходилось вручную вводить команды. Когда Windows была впервые создана, это был фактически графический пользовательский интерфейс, который был создан для того, чтобы упростить использование операционной системы DOS для начинающего пользователя. Шло время и разрабатывались новые версии Windows. DOS была окончательно упразднена с Windows ME.Хотя новые операционные системы не работают в DOS, у них есть нечто, называемое командной строкой, которая имеет внешний вид, похожий на DOS. В этом руководстве мы рассмотрим основные команды и использование командной строки, чтобы вы чувствовали себя комфортно при использовании этого ресурса.

    Использование командной строки или окна Dos

    Когда люди обращаются к командной строке, они могут ссылаться на нее по-разному. Они могут называть его оболочкой, окном консоли, командной строкой, командной строкой cmd или даже dos.Чтобы войти в командную строку, вам необходимо запустить программу, которая зависит от вашей операционной системы. Ниже мы перечисляем программы, которые необходимо запустить для входа в командную строку в зависимости от версии Windows, которую вы используете.

    Операционная система

    Команда

    Банкноты

    Windows 3.1, .3.11, 95, 98, ME command.com Эта программа при запуске откроет окно командной строки с оболочкой DOS.
    Windows NT, 2000, XP, 2003 cmd.exe Эта программа предоставит собственную командную строку. То, что мы называем командной строкой.
    Windows NT, 2000, XP, 2003 command.com Эта программа откроет эмулируемую оболочку DOS для обратной совместимости. Используйте только при необходимости.

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

    Шаг 1. Щелкните меню «Пуск»

    Шаг 2: Нажмите кнопку «Выполнить»

    Шаг 3: Введите соответствующую команду в поле Открыть :.Например, если мы используем Windows XP, мы должны ввести cmd.exe.

    Шаг 4: Нажмите кнопку ОК

    После выполнения этих шагов вам будет представлено окно, подобное изображенному на Рисунке 1 ниже.


    Рисунок 1. Командная строка Windows

    Командная строка — это просто окно, в котором по умолчанию отображается текущий каталог или, в терминах Windows, папка, в которой вы находитесь, и мигающий курсор, готовый для ввода ваших команд.Например, на Рисунке 1 выше вы можете увидеть, что написано C: \ WINDOWS>. C: \ WINDOWS> — это приглашение, которое сообщает мне, что я в настоящее время нахожусь в каталоге c: \ windows. Если бы я находился в каталоге c: \ program files \ directory, приглашение выглядело бы так: C: \ PROGRAM FILES \ DIRECTORY>.

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

    Полезные команды

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

    Команда Help — Эта команда выводит список всех команд, встроенных в командную строку. Если вам нужна дополнительная информация о конкретной команде, вы можете ввести help commandname.Например, help cd предоставит вам более подробную информацию о команде. Для всех команд вы также можете ввести имя команды, за которым следует /? чтобы увидеть справку по команде. Например, cd /?

    Команда Exit — эта команда закроет командную строку. Просто введите exit и нажмите Enter, и командная строка закроется.

    Команда CD — Эта команда позволяет вам изменить текущий каталог или посмотреть, в каком каталоге вы находитесь.Чтобы использовать команду CD, введите cd имя_директора и нажмите клавишу ВВОД. Затем это изменит каталог, в котором вы сейчас находитесь, на указанный. При использовании команды cd вы должны помнить, как пути работают в Windows. Путь к файлу — это всегда корневой каталог, который обозначен символом \ , за которым следуют каталоги под ним. Например, файл notepad.exe, расположенный в c: \ windows \ system32, будет иметь следующий путь \ windows \ system32 \ notepad.исполняемый. Если вы хотите перейти в каталог, который в настоящее время находится в вашем текущем каталоге, вам не нужен полный путь, просто введите cd имя_директории и нажмите клавишу ВВОД. Например, если вы находитесь в каталоге c: \ test, и в этом тестовом каталоге есть три каталога с именами A, B и C, вы можете просто ввести cd a и нажать Enter. Тогда вы окажетесь в каталоге c: \ test \ a. Если, с другой стороны, вы хотите изменить свой каталог на каталог c: \ windows \ system32, вам нужно будет ввести cd \ windows \ system и нажать Enter.

    Команда DIR — Эта команда выводит список файлов и каталогов, содержащихся в вашем текущем каталоге, если используется без аргумента, или в каталоге, который вы указываете в качестве аргумента. Чтобы использовать команду, вы должны просто ввести dir и нажать Enter, и вы увидите список текущих файлов в каталоге, в котором вы находитесь, включая информацию об их размерах, дате и времени последней записи. Команда также покажет, сколько места используют файлы в каталоге, и общий объем свободного дискового пространства, доступного на текущем жестком диске.Если бы я набрал dir \ test , я бы увидел содержимое каталога c: \ test, как показано на рисунке 2 ниже.


    Рисунок 2. DIR c: \ test

    Если вы посмотрите на экран выше, вы увидите список каталога. Первые 2 столбца — это дата и время последней записи в этот файл. Далее следует, является ли конкретная запись каталогом или файлом, затем размер файла и, наконец, имя файла.Возможно, вы заметили, что есть два каталога с именем . и .., , которые имеют особое значение в операционных системах. Модель . обозначает текущий каталог, а .. обозначает предыдущий каталог в пути. В приведенном выше примере .. означает c: \ windows.

    Также обратите внимание, что для многих команд вы можете использовать символ *, который обозначает подстановочный знак. Имея это в виду, набрав dir * .txt , будут перечислены только те файлы, которые заканчиваются на.текст.

    Команда Копировать — Эта команда позволяет копировать файлы из одного места в другое. Чтобы использовать эту команду, вы должны ввести
    copy filetocopy copiedfile . Например, если у вас есть файл c: \ test \ test.txt и вы хотите скопировать его в c: \ windows \ test.txt, введите
    copy c: \ test \ test.txt c: \ windows \ test .txt и нажмите ввод. Если копия будет успешной, она сообщит вам об этом и вернет вам подсказку. Если вы копируете в том же каталоге, вам не нужно использовать путь.Вот несколько примеров и то, что они будут делать:

    копировать test.txt test.bak Копирует файл test.txt в новый файл с именем test.bak в том же каталоге.
    копировать test.txt \ windows Копирует файл test.txt в каталог \ windows.
    копия * \ windows Копирует все файлы в текущем каталоге в каталог \ windows.

    Команда Move — Эта команда позволяет перемещать файл из одного места в другое.Примеры ниже:

    переместить test.txt test.bak Перемещает файл test.txt в новый файл, переименовывая его в test.bak в том же каталоге.
    переместить test.txt \ windows Перемещает файл test.txt в каталог \ windows.
    переместить * \ windows Перемещает все файлы в текущем каталоге в каталог \ windows.

    На этом этапе вы должны использовать команду help, чтобы узнать о других доступных командах.

    Перенаправители

    Перенаправители

    — важная часть использования командной строки, поскольку они позволяют вам управлять тем, как вывод или ввод программы отображаются или используются. Перенаправители используются путем добавления их в конец команды, за которой следует то, на что вы перенаправляете. Например: каталог> dir.txt . В командной строке используются четыре перенаправителя, которые обсуждаются ниже:

    > Этот перенаправитель принимает выходные данные программы и сохраняет их в файле.Если файл существует, он будет перезаписан. Если его не существует, будет создан новый файл. Например, команда dir> dir.txt возьмет вывод команды dir и поместит его в файл dir.txt. Если dir.txt существует, он перезапишет его, в противном случае он его создаст.
    >> Этот перенаправитель принимает выходные данные программы и сохраняет их в файле. Если файл существует, данные будут добавлены к текущим данным в файле, а не перезаписаны.Если его не существует, будет создан новый файл. Например, команда dir >> dir.txt берет вывод команды dir и добавляет его к существующим данным в файле dir.txt, если файл существует. Если dir.txt не существует, он сначала создаст файл.
    < Этот перенаправитель будет принимать входные данные для программы из указанного файла. Например, команда date ожидает ввода от пользователя. Итак, если бы у нас была команда date он будет принимать входные данные для программы даты из информации, содержащейся в файле date.txt.
    | Этот перенаправитель называется конвейером. Он берет вывод программы и передает его другой программе. Например, dir | sort будет принимать выходные данные команды dir и использовать их в качестве входных данных для команды sort.

    Пакетные файлы

    Пакетные файлы — это файлы с расширением, заканчивающимся на.летучая мышь. Это просто сценарии, содержащие команды командной строки, которые будут выполняться в том порядке, в котором они перечислены. Чтобы создать пакетный файл, просто создайте файл с расширением .bat, например test.bat, и в нем есть нужные вам команды. Каждая команда должна быть в отдельной строке и в том порядке, в котором вы хотите, чтобы они выполнялись.

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

    cd
    cd \ test
    dir
    cd \

    Если бы я запустил тест.bat файл, который я создал, я бы получил следующий результат:


    Рисунок 3: Пример запущенного командного файла.

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

    Консольные программы

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

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


    http://unxutils.sourceforge.net/

    Есть еще много сайтов, на которых доступны инструменты. Просто выполните поиск в Google в консольных программах Windows.

    Заключение

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


    Лоуренс Абрамс
    Bleeping Computer Microsoft Basic Concepts Tutorial

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

    Windows CMD-команды: список кодов командной строки

    в Запускает команды и программы в определенное время.С помощью параметра / every: date [,…] вы также можете назначать регулярные встречи. 10/8/7 / Vista / XP
    аудитпол Отображает текущие политики мониторинга. 10/8/7 / Vista
    резервное копирование Создает резервные копии файлов. Их можно восстановить с помощью функции restore (замененной на msbackup). ДОС
    bcdboot Создает и восстанавливает стартовые файлы. 8.10.7
    bcdedit Позволяет пользователям вносить изменения для запуска хранилища данных конфигурации (команда представляет собой новую версию bootcfq). 10/8/7 / Vista
    bdehdcfg Подготавливает жесткий диск для шифрования диска BitLocker. 8.10.7
    bootcfg Создает, редактирует или отображает содержимое файла boot.ini (хотя он все еще включен в CMD Windows 7, он потерял свою функцию, поскольку boot.ini больше не используется для параметров запуска, вместо этого вам следует использовать bcdedit). 10/8/7 / Vista / XP
    bootsect Изменяет главный загрузочный код таким образом, чтобы он был совместим с диспетчером загрузки Windows или загрузчиком NT (может быть запущен только через восстановление системы в Windows 7 и Vista). 10/8/7 / Vista
    cacls Редактирует и отображает список контроля доступа.Это устанавливает права доступа (устаревшие — заменены на icacls в более новых версиях Windows). 10/8/7 / Vista / XP
    chkdsk Проверяет и ремонтирует (с параметром / R) накопитель данных. Все Win / DOS
    chkntfs Изменяет или отображает данные проверки драйвера при запуске. 10/8/7 / Vista / XP
    cmdkey Может отображать (/ list), создавать (/ добавлять) или удалять (/ удалять) информацию для входа. 10/8/7 / Vista
    перерабатывать Конвертирует разделы из FAT / FAT32 в NTFS. 10/8/7 / Vista / XP
    ctty Изменяет стандартный ввод и вывод для системы. 98/95 / ДОС
    dblspace Создает или настраивает сжимающие диски (более новая версия команды называется drvspace) .98/95 / ДОС
    дефрагментировать Дефрагментирует все или только указанные диски. Используйте / U, чтобы наблюдать за прогрессом. Чтобы получить статистику оценки после дефрагментации, используйте параметр / V. Все Win / DOS
    diskpart Управляет, создает и удаляет разделы на жестком диске. 10/8/7 / Vista / XP
    diskperf Позволяет пользователям удаленно управлять счетчиком производительности диска. 10/8/7 / Vista
    дискритичный Управляет системами RAID. 10/8/7 / Vista
    уволить Управляет образами Windows и интегрирует их. 8.10.7
    dispdiag Создает файл в текущем каталоге, в котором вы найдете информацию о вашем дисплее. 10/8/7 / Vista
    dosx Запускает интерфейс защищенного режима DOS, который позволяет программам MS-DOS использовать более 640 КБ ОЗУ.Доступно только для поддержки старых программ DOS. 32-битный
    запрос драйвера Создает список со всеми установленными драйверами. 10/8/7 / Vista / XP
    drvspace Создает или настраивает сжатые диски. Более старая версия команды называется dblspace. 98/95 / ДОС
    emm386 Предоставляет DOS более 640 КБ ОЗУ. 98/95 / ДОС
    Esentutl Управляет базами данных в расширяемом механизме хранения. 10/8/7 / Vista / XP
    событие Создает запись (идентификатор и сообщение) в журнале событий. 10/8/7 / Vista / XP
    события Настраивает и отображает триггер события. XP
    fdisk Создает, удаляет разделы на жестком диске и управляет ими.Используйте diskpart в более новых версиях Windows. 98/95 / ДОС
    fltmc Позволяет пользователям управлять драйверами фильтров и отображать их. 10/8/7 / Vista / XP
    фондю Устанавливает дополнительные функции Windows. Команда является аббревиатурой основного инструмента: Features on Demand User Experience Tool. 10/8
    формат Форматирует диск в файловую систему, указанную пользователем. Все Win / DOS
    fsutil Предоставляет множество функций, связанных с файловой системой, например удаление диска. 10/8/7 / Vista / XP
    hwrcomp Собирает самостоятельно созданные словари для распознавания рукописного ввода. 8.10.7
    Hwrreg Устанавливает скомпилированный словарь для распознавания почерка. 8.10.7
    icacls Редактирует и отображает список контроля доступа.Это устанавливает права доступа. Устаревшая версия этой команды — cacls. 10/8/7 / Vista
    ktmutil Запускает диспетчер транзакций ядра. 10/8/7 / Vista
    метка Изменяет или удаляет метку диска. Все Win / DOS
    lh Загружает программу в область верхней памяти (UMB) — выполняет ту же функцию, что и loadhigh. 98/95 / ДОС
    лицензирование Создает файлы XML и CAB, содержащие информацию о лицензии на продукт Windows. 10/8
    loadfix Гарантирует, что программа загружается и выполняется выше первых 64 КБ ОЗУ. 32-бит / DOS
    loadhigh Имеет ту же функцию, что и lh. 98/95 / ДОС
    замок Блокирует диск, чтобы только выбранная пользователем программа могла получить к нему прямой доступ. 98/95
    lodctr Обновляет все записи реестра, связанные с индикаторами производительности. Все выигрывают
    лесоруб Создает и управляет сеансами трассировки событий и журналами производительности. 10/8/7 / Vista / XP
    Manage-bde Настраивает шифрование диска с помощью BitLocker. Используйте -on, чтобы зашифровать диск.Используйте -off, чтобы снова расшифровать его и отключить защиту BitLocker. 8.10.7
    мем Отображает информацию об оперативной памяти и указывает, какие программы в настоящее время загружены в нее. 32-бит / DOS
    мемейкер Оптимизирует оперативную память. 98/95 / ДОС
    Режим Настраивает системные устройства — в первую очередь на COM- или LPT-порте. Все Win / DOS
    mofcomp Анализирует файлы в формате управляемых объектов (MOF) и добавляет классы и экземпляры в репозиторий WMI. Все выигрывают
    Mountvol Создает и удаляет точки монтирования для дисков и отображает их. 10/8/7 / Vista / XP
    msav Запускает антивирус Microsoft. ДОС
    msbackup Запускает Microsoft Backup (заменяет резервную копию и восстанавливает). ДОС
    mscdex Загружает поддержку CD-ROM для MS-DOS. 98/95 / ДОС
    MSD Запускает программу Microsoft Diagnostics, с помощью которой может отображаться системная информация. ДОС
    msiexec Запускает установщик Windows, с помощью которого можно установить и настроить Windows. 10/8/7 / Vista / XP
    muiunattend Запускает процесс автоматической настройки многоязычного пользовательского интерфейса (MUI). 10/8/7 / Vista
    netcfg Устанавливает минимальную операционную систему Microsoft Windows PE. 10/8/7 / Vista
    ocsetup Устанавливает дополнительные функции Windows. 8/7 / Vista
    пентнт Распознает ошибки деления с плавающей запятой в чипах Pentium, запускает эмуляцию с плавающей запятой и отключает оборудование с плавающей запятой. XP
    pkgmgr Устанавливает, удаляет и настраивает пакеты и функции для Windows. 10/8/7 / Vista
    pnpunattend Автоматизирует установку драйверов устройств. 10
    pnputil Устанавливает устройства plug-and-play из командной строки. 10/8/7 / Vista
    мощность Использует состояние IDLE процессора для снижения энергопотребления. 98/95 / ДОС
    powercfg Позволяет пользователю изменять параметры энергопотребления компьютера и управлять планами энергосбережения. 10/8/7 / Vista / XP
    pwlauncher Настраивает параметры запуска Windows To Go, с помощью которых вы можете загружать Windows с USB-накопителя. 10/8
    qprocess Предоставляет информацию о запущенных процессах. 10/8/7 / Vista
    запрос Отображает статус конкретной службы. 10/8/7 / Vista
    Quser Предоставляет информацию о пользователях, вошедших в систему в данный момент. 10/8/7 / Vista
    реагентc Настраивает среду восстановления Windows, с помощью которой вы можете восстановить установку операционной системы. 8.10.7
    исправлять Создает определяемый пользователем образ Windows для восстановления системы. 8
    рег Управляет реестром командной строки. Пользователи могут создавать новые ключи (reg add) или удалять их (reg delete). 10/8/7 / Vista / XP
    Реджини Изменяет авторизацию реестра. 10/8/7 / Vista / XP
    зарегистрировать-cimprovider Регистрирует поставщика общей информационной модели (поставщик CIM) в Windows. 10/8
    regsvr32 Регистрирует файл DLL в реестре. 10/8/7 / Vista / XP
    перезагружать Создает новые протоколы показателей эффективности из данных в существующих протоколах. 10/8/7 / Vista / XP
    ремонт-бдэ Восстанавливает и расшифровывает неисправные диски, зашифрованные с помощью BitLocker. Файлы следует сохранить на запасном диске. 8.10.7
    сброс настроек Сбрасывает сеанс. Вы также можете использовать команду rwinsta. 10/8/7 / Vista / XP
    восстановить Восстанавливает резервные копии, созданные с помощью команды резервного копирования (заменено на msbackup). ДОС
    Rwinsta Команда выполняет ту же функцию, что и сброс. 10/8/7 / Vista / XP
    sc Управляет службами путем подключения к контроллеру служб. 10/8/7 / Vista / XP
    сканрег Восстанавливает реестр и позволяет создать из него резервную копию. 98/95
    sdbinst Применяет файлы пользовательской базы данных (SDB). 10/8/7 / Vista / XP
    secedit Анализирует параметры безопасности, сравнивая текущие конфигурации с шаблонами. С помощью этой команды также можно настраивать, импортировать и экспортировать параметры. 10/8/7 / Vista / XP
    сетвер Устанавливает номер версии MS-DOS, который пересылается программе, даже если он не соответствует фактической версии. 32-бит / DOS
    Setx Создает или изменяет переменную окружения у пользователя системного окружения. 10/8/7 / Vista
    sfc Проверяет все важные и защищенные системные файлы.Неправильные версии заменяются правильными. 10/8/7 / Vista / XP
    smartdrv Запускает программу кэширования жесткого диска SMARTDrive и управляет ею. 98/95 / ДОС
    sys Копирует системные файлы из MS-DOS и командного интерпретатора на другой жесткий диск. Это делает его загрузочным. 98/95 / ДОС
    системная информация Отображает информацию об установке Windows, включая все установленные пакеты услуг.Информацию можно получить как из локальной системы, так и с удаленного компьютера. 10/8/7 / Vista / XP
    tpmvscmgr Создает и удаляет виртуальные смарт-карты TPM. Это виртуальные смарт-карты, зашифрованные на основе модели доверенной платформы. 10/8
    Tracerpt Обрабатывает журналы или данные в реальном времени, созданные во время отслеживания компьютерных программ. 10/8/7 / Vista / XP
    typeperf Отображает данные счетчика производительности или записывает их в файл. 10/8/7 / Vista / XP
    неформатировать Отменяет форматирование диска, выполненное командой форматирования. ДОС
    разблокировать Разблокирует диск, заблокированный с помощью команды блокировки. 98/95
    unlodctr Удаляет имена, а также описания расширяемых счетчиков производительности в реестре Windows. 10/8/7 / Vista / XP
    vaultcmd Создает, удаляет и отображает сохраненную регистрационную информацию. 8.10.7
    объем Отображает этикетку и серийный номер диска. Все Win / DOS
    vsafe Запускает антивирусную программу VSafe. ДОС
    всадмин Управляет службами теневого копирования томов, которые могут использоваться для хранения различных версий (снимков) дисков. 10/8/7 / Vista / XP
    wbadmin Создает резервные копии операционной системы и доставляет информацию в созданные резервные копии. 10/8/7 / Vista
    wevtutil Управляет журналами событий и файлами журналов событий. 10/8/7 / Vista
    кто я Предоставляет информацию о текущем пользователе. С помощью параметра / GROUP вы можете получить дополнительную информацию о членстве в группе. 10/8/7 / Vista
    Winmgmt Управляет репозиториями WMI. Резервное копирование (/ backup) возможно, например, с помощью команды. Все выигрывают
    Winsat Оценивает различные системные факторы — например, производительность процессора или графические возможности. 10/8/7 / Vista
    wmic Запускает инструментарий управления Windows в командной строке.Здесь можно изменять различные настройки Windows — как локально, так и на удаленных компьютерах. 10/8/7 / Vista / XP
    xwizard Регистрирует данные Windows в виде файлов XML. 8.10.7

    В чем разница между консолью, терминалом и оболочкой?

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

    • Зачем мне использовать Терминал Windows поверх PowerShell?
    • Мне не нужен WSL для bash, я использую Cygwin.
    • Могу ли я использовать conemu с PowerShell Core или мне нужно использовать терминал Windows?

    Давайте начнем со словаря и сначала проясним несколько слов.

    Терминал

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

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

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

    Консоль

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

    В мире программного обеспечения Терминал и Консоль, по сути, являются синонимами.

    Оболочка

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

    • bash, fish, zsh, ksh, sh, tsch
    • PowerShell, pwsh
    • cmd, yori, 4dos, command.com

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

    В стороне: WSL и WSL2 (подсистема Windows для Linux) — это полный локальный Linux (или многие Linux), которые работают в Windows 10. Они полные и настоящие. WSL2 содержит настоящее ядро ​​Linux и работает в Windows. Cygwin — это НЕ Linux. Cygwin — это большая коллекция инструментов GNU и с открытым исходным кодом, которые обеспечивают функциональность, аналогичную Linux в Windows, но это не Linux.Это симулякр. Это утилиты GNU, скомпилированные для Win32. Это здорово, но вам важно знать, в чем разница. Cygwin может позволить вам запускать ваши сценарии оболочки bash, но он НЕ будет запускать Apache, Docker или другие настоящие двоичные файлы ELF и приложения Linux.

    Ваш выбор консолей Windows?

    Есть несколько оболочек, которые поставляются с Windows. Вот несколько, которыми я сейчас управляю. Обратите внимание на «кромку» или границу и заголовок вокруг них? Все эти оболочки размещаются на устаревшей консоли Windows, о которой вы никогда не слышали, под названием conhost.исполняемый. Вы можете перейти в командную строку, ввести powershell, cmd или ubuntu, и будет запущено любое количество оболочек. Conhost выполняет работу по вводу и выводу.

    Теперь забудьте, что conhost существует, потому что он отстой — он очень старый.

    Псевдоконсоль, Псевдотерминал, PTY, Псевдо TTY (ConPTY)

    Псевдотерминалы — это эмуляторы терминала или программные интерфейсы, которые имитируют терминалы. Они притворяются терминалами, подобными приведенным выше. * В системах Nix долгое время существовала инфраструктура псевдотерминала (PTY), а теперь и Windows в качестве псевдоконсоли (ConPTY).

    Новый интерфейс ConPTY Window — это будущее консолей и терминалов в Windows. Если вы выберете сторонние (не встроенные) консольные приложения для Windows, убедитесь, что они поддерживают ConPTY, и это будет лучше, чем на некоторых старых консолях, использующих очистку экрана или другие взломы.

    Вернуться к вашему выбору консолей Windows

    Помня о том, что в Windows можно использовать множество оболочек, вы можете использовать множество консолей сторонних производителей, если вам не нравится conhost.exe (и вам не следует).

    Все эти терминалы поддерживают ВСЕ указанные выше оболочки и любые оболочки, которые я пропустил. Потому что оболочка — это не терминал. Выберите тот, который делает вас счастливым. Я использую PowerShell Core и Ubuntu в WSL2 в Терминале Windows.

    Надеюсь, это поможет прояснить ситуацию.


    Спонсор: Отсутствует ясность в отношении ошибок программного обеспечения? Дайте своим клиентам то, чего они заслуживают, с помощью функции мониторинга ошибок от Raygun.com. Устанавливается за считанные минуты, попробуйте сегодня!

    О Скотте

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


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

    6 умных способов использования командной строки Windows

    list disk

    Найдите в таблице диск, который вы хотите стереть — убедитесь, что он правильный, чтобы не стереть какие-либо важные данные на другом диске, и запустите:

    выберите диск 3

    … где, очевидно, вы замените цифру 3 любым номером, соответствующим рассматриваемому диску. Наконец, запустите:

    clean

    Ваша система очистит диск без каких-либо скрытых разделов или таблиц, запутывающих ваш компьютер. Затем вы можете щелкнуть меню «Пуск», найти «Управление дисками» и щелкнуть правой кнопкой мыши диск, чтобы инициализировать и отформатировать его. Обратите внимание, что это просто стирает таблицы разделов, это не стирает надежно все ваши данные — некоторые из них все еще могут быть доступны с помощью инструментов восстановления файлов.Чтобы безопасно стереть все следы (например, если вы собираетесь утилизировать диск или продать компьютер), вам нужно щелкнуть диск правой кнопкой мыши в проводнике Windows, выбрать «Форматировать» и снять флажок «Быстрое форматирование». Или используйте сторонний инструмент, например DBAN, у которого есть ряд других опций безопасного стирания.

    Получите список всех программ, установленных на вашем ПК

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

    Однако, в отличие от других в этом списке, эту команду необходимо запускать из PowerShell, нового и более мощного инструмента, встроенного в Windows. Откройте меню «Пуск», найдите PowerShell и откройте новое окно. Затем выполните следующую команду — она ​​длинная, но это всего лишь одна команда копирования и вставки, которая захватывает содержимое трех разных разделов реестра и выводит их в текстовый файл на вашем рабочем столе:

    Get-ItemProperty HKLM: \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ *, HKLM: \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ *, HKCU: \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ * | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Формат-таблица -AutoSize> C: \ Users \ Whitson \ Desktop \ ProgramsList.txt

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

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

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