- Параметры командной строки
- Параметры командной строки
- Настройка командной строки Windows.
- Настройка командной строки через изменение свойств приложения (ярлыка для запуска приложения).
- Особенности командной строки в Wimdows 10 и Windows Server 2016
- Настройка командной строки изменением параметров в реестре Windows.
- Использование истории вводимых команд.
- Особенности настройки параметров консоли для Windows 10
Параметры командной строки
Параметры командной строки
С и — компилируемый язык. После сборки программа представляет собой исполняемый файл (мы не рассматриваем создание динамических библиотек, драйверов и т.д.). Наши программы очень простые и не содержат библиотек времени выполнения (Runtime libraries), поэтому могут быть перенесены на компьютер с такой же операционной системой (и подобной архитектурой) и там запущены.
Программа во время запуска может принимать параметры. Они являются аргументами функции main. Общий вид функции main следующий
Первым аргументом argc является число переданных функции параметров. Второй аргумент – массив строк – собственно сами параметры. Так как параметры у функции могут быть любыми, то они передаются как строки, и уже сама программа должна их разбирать и приводить к нужному типу.
Первым аргументом (argv[0]) всегда является имя программы. При этом имя выводится в зависимости от того, откуда была запущена программа.
Первый аргумент — это имя программы
Теперь научимся немного работать с командной строкой. Это понадобится для того, чтобы передавать аргументы нашей программе. Сочетание клавиш Win+R вызывает окно «Выполнить». Наберите в нём cmd и вы откроете командную строку. Также можно найти cmd.exe поиском в меню Пуск. В юникс-подобных операционных системах можно вызвать программу «терминал».
Мы не будем изучать сколько-нибудь много команд. Только те, которые понадобятся в работе.
Стандартная для всех операционных систем команда cd осуществляет переход к нужной папке. Существует два зарезервированных имени — . (точка) и .. (две точки). Точка — это имя текущей папки.
никуда не переходит
.. обращение к родительской папке
переход в родительскую папку
Для перехода по нужному пишется cd адрес. Например, нужно перейти на windows в папку C:\Windows\System32
В линуксе если нужно перейти в папку /var/mysql
Если путь содержит пробелы, то он пишется в двойных кавычках
cd «D:\Docuents and Settings\Prolog»
Терминал имеет следующие полезные особенности: если нажать стрелку вверх, по появится предыдущая выполненная команда. Если нажать tab, то терминал попытается дополнить строку до известной ему команды, или дополнить путь, перебирая все папки и файлы в текущей папке.
Наберите cd C:\
нажимайте tab и смотрите, что происходит.
Ещё одна важная команда dir на windows и ls на linux, выводит на консоль содержимое текущей папки (той папки, в которой вы находитесь в данный момент)
Ваша программа вернула своё полное имя. Перейдите в папку, где располагается ваша программа и посмотрите её содержимое
Переходим в папку, в которой располагается наша программа и смотрим содержимое
Теперь, после того, как мы перешли в нашу папку, можно выполнить нашу программу. Для этого наберите её имя.
Вызов программы из командной строки
Заметьте — имя изменилось. Так как программа вызывается из своей папки, то выводится относительно имя. Теперь изменим программу и сделаем так, чтобы она выводила все аргументы. которые ей переданы.
Соберите проект. Перед сборкой убедитесь, что программа закрыта. Теперь вызовите программу, передав ей разные аргументы. Для этого напишите имя программы и через пробел аргументы
Передача аргументов программе
Давайте теперь напишем программу, которая получает два аргумента числа и выводит их сумму
Соберём и вызовем
Функция принимает в качестве аргументов два числа
Таким образом работает большинство программ. Кликая на ярлык, вы вызываете программу, на которую он ссылается. Большинство программ также принимают различные аргументы. Например, можно вызвать браузер firefox из командной строки и передать аргументы
firefox.exe «www.mozilla.org» «learnc.info» и он сразу же откроет в двух вкладках сайты по указанным адресам.
Многие стандартные команды также имеют параметры. В windows принято, что они начинаются с прямого слеша, в юниксе с минуса или двух минусов. Например
выводит только папки, а в терминале linux
ls -l выводит все файлы и папки с указанием атрибутов
Для просмотра дополнительных команд windows наберите в командной строке help или смотрите руководство (его легко найти в интернете). Для линукса команд и их опций гораздо больше, а некоторые из них являются самостоятельными языками программирования, так что стоит выучить хотя бы минимальный набор и их опции.
Настройка командной строки Windows.
Интерпретатор команд, он же командный процессор, он же приложение «Командная строка», можно запустить несколькими способами:
— Через главное меню – ”Все приложения” — “Стандартные” – ”Командная строка”
— Через меню Пуск — Выполнить — cmd.exe
— Комбинация клавиш Win+R — cmd.exe
— Комбинация клавиш Win+X — Командная строка (только в Windows 8 и более поздних)
— Через поиск приложения cmd.exe
Стандартное окно командной строки – это окно с символами белого цвета на черном фоне. Параметры шрифтов, цвет и фон символов, использование буфера обмена и прочие свойства командной строки можно изменить в соответствии со своими предпочтениями.
Часть настроек можно выполнить, изменив свойства самого приложения, свойства ярлыка, с помощью которого запускается приложение командной строки, а часть — редактированием реестра Windows.
Настройка командной строки через изменение свойств приложения (ярлыка для запуска приложения).
1. Откройте окно Командная строка .
2. Щелкните указателем мышки левый верхний угол окна и в открывшемся меню выберите пункт Свойства .
3. Выберите вкладку Общие .
4. В области Запоминание команд можно изменить размер буфера под историю команд. Если есть необходимость, выберите или введите новое значение (до 999 в поле Размер буфера , а затем выберите или введите число (до 5 ) в поле Количество буферов . Увеличение размера буфера под запоминание команд может пригодиться в тех случаях, когда в течении сессии приходится вводить большое количество текста. Клавиши Стрелка вверх и Стрелка вниз позволяют вызывать ранее набранные и сохраненные в буфере команды. Для того, чтобы в буфере не запоминались одинаковые команды, можно включить флажок Отбрасывать повторения . Значения размера буфера и количество буферов могут обличаться для разных версий Windows.
5. В области Правка установите флажки Выделение мышью и Быстрая вставка . Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки с использованием мышки. Чтобы скопировать, выделите левой кнопкой текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши. Можно вместо выделения мышью, использовать стандартный режим, вызываемый через контекстное меню правой кнопкой мышки. Выбирается пункт Пометить , выделяется копируемый текст и нажимается правая кнопка мышки, которая используется и для копирования и для вставки. Стандартные комбинации клавиш для копирования и вставки в командной строке не работают, за исключением Windows 10 / Sever 2016
При желании, можно изменить вид и размер шрифта, цвет символов и фона, расположение и размер окна командной строки. Например, для того, чтобы в окне командной строки отображались символы черного цвета на белом фоне, нужно установить значение цвета символов, равное 0 , а значение цвета фона — 255
В диалоговом окне Изменение свойств (если оно присутствует в данной версии Windows) выберите вариант Сохранить свойства для других окон с тем же именем .
Особенности командной строки в Wimdows 10 и Windows Server 2016
Настройки командной строки в Windows 10 (Windows Server 2016) немного отличаются от настроек предыдущих версий Windows.
При включенном флажке ”Использовать прежнюю версию консоли (Требуется перезапуск)”, настройки ничем не отличаются от тех, что применялись в среде предыдущих версий Windows. В новой же версии консоли, появляются дополнительные настройки — становятся доступными для включения флажки параметров, отсутствовавших в более ранних версия системы. Новые возможности в значительной степени облегчают обработку текста в окне консоли и позволяют использовать большинство стандартных сочетаний клавиш для копирования, вставки и редактирования. Так, например, при включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш, принятые в среде ОС:
— CTRL+C (CTRL+Insert) – скопировать выделенный текст.
— CTRL+V (Shift+Insert) – вставить выделенный текст.
Часть настроек ориентирована на расширение возможностей при использовании выделения текста, обработки строк, истории команд, динамического изменения внешнего вида и управления перемещением курсора, прозрачностью окна и т.п. с поддержкой множества горячих клавиш. Подробнее о новых возможностях командной строки в Windows 10 рассказывается в статье Работа в командной строке ( CMD ) Windows.
Настройка командной строки изменением параметров в реестре Windows.
Изменение внешнего вида и некоторых свойств командной строки можно выполнить не только с помощью определенных ключей при запуске cmd.exe , но и изменив параметры реестра, предназначенные для командного процессора в разделах:
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Command Processor — для всех пользователей.
HKEY_CURRENT_USER\ Software\ Microsoft\ Command Processor\ — для текущего пользователя.
HKEY_CURRENT_USER\ Console\ — дополнительно для текущего пользователя.
Параметры командной строки при запуске CMD.EXE имеют наивысший приоритет, а пользовательские настройки ( раздел реестра HKEY_CURRENT_USER ) имеют приоритет над настройками для компьютера ( раздел реестра HKEY_LOCAL_MACHINE ).
Одной из наиболее полезных настроек является изменение обработки вводимой командной строки таким образом, чтобы можно было выполнять подстановку имен файлов и каталогов при нажатии специальной клавиши, как это реализовано в командной оболочке Unix-подобных операционных систем. Так например, для перехода в каталог home не обязательно набирать команду :
а достаточно ввести cd /h и нажать специальную клавишу Tab — недостающая часть имени ( ome ) будет подставлена в качестве параметра команды смены каталога. Очень полезная возможность при наборе длинных имен файлов и каталогов.
Аналогичным образом можно настроить и командную строку Windows. Запустите редактор реестра и перейдите в раздел
HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Command Processor
В современных ОС семейства Windows режим автодополнения путей при нажатии клавиши Tab уже настроен, но при необходимости, его можно перенастроить или восстановить.
Код символа Tab равен шестнадцатеричному числу 9 и его нужно задать в формате REG_DWORD для параметров CompletionChar и PathCompletionChar ( например, в Windows XP, значение 0x40 заменить на 0x9 ). Теперь, после перезапуска приложения командной строки, оцените преимущества подстановки части имен, выполнив следующие действия:
— перейти в корень диска C: CD C:\
— для перехода, например в каталог с длинным именем Program Files наберите
CD Pro и нажмите Tab. В строке ввода должна появиться команда :
CD «Program Files»
Как видим, кроме того, что выполняется подстановка недостающей части имени каталога, в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.
Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее — используется комбинация Shift+Tab
Правка реестра позволяет также изменить внешний вид окна командной строки, например, цвет фона и цвет символов, как это выполняется с помощью команды COLOR или ключа /T при запуске CMD.EXE . Расцветку определяют параметры
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Command Processor\ DefaultColor — для всех пользователей.
HKEY_CURRENT_USER\ Software\ Microsoft\ Command Processor\ DefaultColor — для текущего пользователя.
Значения параметров из раздела пользователя имеют больший приоритет, по сравнению с параметрами раздела HKEY_LOCAL_MACHINE
Если параметр DefaultColor имеет значение по умолчанию ( REG_DWORD 0x00000000 ), то цветовой набор определяется значением параметра
HKEY_CURRENT_USER\ Console\ ScreenColors .
На практике, изменение цвета фона окна и цвета символов лучше всего задавать значением параметра типа REG_DWORD:
HKEY_CURRENT_USER\ Console\ ScreenColors .
Младший байт этого параметра определяет цвета фона и текста, каждый из которых задается шестнадцатеричной цифрой. Старший бит определяет яркость, а последующие биты — цвет :
Бит 0 — яркость
Бит 1 — красный ( R )
Бит 2 — зеленый ( G )
Бит 3 — синий ( B )
Значения битов задают комбинацию цветов, так например, для желтого цвета используется установка битов 1 и 2 ( Красный и Зеленый). Старшие 4 бита ( тетрада ) определяют цвет фона, младшие — цвет текста. Каждая цифра тетрады может иметь следующие значения:
0 = Черный
1 = Синий
2 = Зеленый
3 = Голубой
4 = Красный
5 = Лиловый
6 = Желтый
7 = Белый
8 = Серый
9 = Светло-синий
A = Светло-зеленый
B = Светло-голубой
C = Светло-красный
D = Светло-лиловый
E = Светло-желтый
F = Ярко-белый
Примеры значений параметра ScreenColors :
F0 — «консоль наоборот” — черные символы на белом фоне.
20 — зеленый фон, черные символы.
A0 — яркий зеленый фон, черные символы.
9F — яркий синий фон, яркие белые символы.
Использование истории вводимых команд.
При работе в командной строке удобно использовать, полностью или частично, ранее введенные команды. Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх — на одну команду назад и Стрелка Вниз — на одну команду вперед. Кроме того, можно использовать функциональные клавиши:
F1 — посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.
F2 — копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru , и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex , если задан пробел, то — ping .
F3 — вызов предыдущей команды.
F4 — удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.
F5 и F8 — вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.
F7 — отображение ранее введенных команд в отдельном окне в виде списка. Для выполнения нужной команды нужно выбрать ее, используя клавиши со стрелками, и нажать ENTER
F9 — выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7 .
Особенности настройки параметров консоли для Windows 10
Как уже упоминалось выше, в операционных системах Windows 10 /Windows Server 2016 появились дополнительные настройки, расширяющие возможности командной строки и облегчающие ее использование. Новые возможности включены по умолчанию, однако в любой момент могут быть отключены через интерфейс свойств или при изменении параметров в реестре. Настройки новых возможностей хранятся ключах раздела HKEY_CURRENT_USER\Console и имеют тип данных DWORD . Настройки, установленные в свойствах ярлыка командной строки перекрывают настройки, задаваемые параметрами реестра.
Перечень новых ключей реестра и их назначение:
ForceV2 — 1 включает новые возможности, 0 – отключает. Этот параметр не запоминается в свойствах ярлыка и его значение хранится только в реестре.
LineSelection — 1 — разрешает выделение строк, 0 — отключает.
FilterOnPaste — 1 — включает фильтр содержимого буфера обмена при вставке. Позволяет отсечь служебные символы (табуляция, наклонные кавычки и т.п.), которые содержатся в буфере обмена и не могут применяться в командной строке.
LineWrap — 1 — разрешает перенос строк текста при изменении размера окна консоли.
CtrlKeyShortcutsDisabled — 0 разрешается использование комбинаций клавиш с CONTROL (CTRL+A, CTRL+C, CTRL+V и т.п.)
ExtendedEdit Keys — 1 — разрешает использование набора дополнительных клавиш для редактирования.
TrimLeadingZeros — 1 — при выделении числа двойным кликом, лидирующие нули отбрасываются (000123 – 123)
WindowsAlpha — установка прозрачности окна командной строки от 30% до 100%. Используется значение ключа реестра в виде шестнадцатеричного значения от 0x4C до 0xFF, или десятичного от 76 до 255
WordDelimiters — определяет символ-разделитель, который используется при выделении части текста комбинацией клавиш CTRL+SHIFT+ARROW . По умолчанию используется пробел. Ключ реестра имеет тип данных REG_SZ и может содержать несколько символов-разделителей. Этот параметр не запоминается в свойствах ярлыка и может храниться только в реестре.
Список команд командной строки — список команд CMD Windows с описанием и примерами.
Командные файлы Windows — примеры создания командных файлов для решения типовых задач администрирования системы.
Работа с сетью в командной строке Windows — примеры использования командной строки для сетевой диагностики и управления сетью.
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»