Перейти к содержимому

Консольная утилита что это

  • автор:

Консольная утилита что это

На этом шаге мы рассмотрим понятие консольного приложения и приведем пример такого приложения .

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

В операционной системе консольное приложение работает в окне командной строки (рисунок 1), которое часто называют окном консоли .

Рис.1. Консольное приложение

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

  • при помощи функций printf ( вывод ) и scanf ( ввод ) ;
  • вывести информацию в поток вывода (cout) , прочитать данные из потока ввода (cin) ;
  • при помощи методов WriteLine и ReadLine объекта Console.

Основным способом взаимодействия с пользователем в консольных .NET -приложениях, созданных Microsoft Visual Studio , является использование объекта Console . Методы, обеспечивающие отображение и ввод данных, перечислены в таблице 1.

Таблица 1. Методы объекта Console
Метод Описание
Console::Write(st) Выводит на экран (в окно консоли) строку st
Console::WriteLine(st) Выводит на экран (в окно консоли) строку st , после чего переводит курсор в начало следующей строки
Console::ReadLine() Значением метода ReadLine является строка, набранная пользователем на клавиатуре. Для преобразования строки в число надо использовать, например, методы System::ToInt32() или System::ToSingle()
Console::Read() Значением метода Read является код символа, набранного на клавиатуре

Метод Console::Write выводит на экран (в окно консоли) строку, указанную в качестве параметра метода.

Если надо вывести значение числовой переменной, то для преобразования числа в строку следует использовать метод ToString . Вид (формат) строки, возвращаемой методом ToString , определяет параметр, указанный в инструкции вызова метода (таблица 2).

Таблица 2. Параметры метода ToString
Параметр Формат Пример
«c», «C» Currency — финансовый (денежный) . Используется для представления денежных величин. Обозначение денежной единицы, разделитель групп разрядов, способ отображения отрицательных чисел определяют соответствующие настройки операционной системы 5 5055,28р.
«e», «E» Scientific (exponential) — научный . Используется для представления очень маленьких или очень больших чисел. Разделитель целой и дробной частей числа задается в настройках операционной системы 5,505528+E04
«f», «F» Fixed — число с фиксированной точкой . Используется для представления дробных чисел. Количество цифр дробной части, способ отображения отрицательных чисел определяют соответствующие настройки операционной системы 55055,28
«g», «G» General — универсальный формат . Похож на Number , но разряды не разделены на группы 55055,28
«n», «N» Number — числовой . Используется для представления дробных чисел. Количество цифр дробной части, символразделитель групп разрядов, способ отображения отрицательных чисел определяют соответствующие настройки операционной системы 5 5055,28
«r», «R» Roundtrip — без округления . В отличие от формата Number , этот формат не выполняет округления (количество цифр дробной части зависит от значения числа) 55055,2755

Следует обратить внимание, что символ-разделитель целой и дробной частей числа задает операционная система. Этот же символ надо использовать и при вводе дробных чисел.

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

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

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

Метод ReadLine объекта Console обеспечивает ввод с клавиатуры строки символов. Для преобразования введенной строки в данные необходимо использовать соответствующие методы преобразования: System::ToInt16() , System::ToInt32() , System::ToSingle() , System::ToDouble() и т. д.

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

В качестве примера использования методов объекта Console приведем программу пересчета цены из долларов в рубли.

Консольная программа

Текстовый интерфейс пользователя (англ. Text user interface, TUI ; также Character User Interface, CUI ) — система средств взаимодействия пользователя с компьютером, основанная на использовании текстового (буквенно-цифрового) режима дисплея или аналогичных устройств — например, командная строка. Приложения, использующие текстовый интерфейс, называют консольными программами.

Содержание

Особенности текстового интерфейса

На программном уровне для ввода и вывода информации консольные программы используют стандартные устройства ввода-вывода (stdin, stdout, stderr), хотя могут открывать и другие файлы, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод печатных символов в stdout и stderr приводит к появлению этих символов на устройстве вывода, то есть к их получению пользователем.

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

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

Реализация текстового интерфейса

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

Классической реализацией текстового интерфейса, восходящей к первой половине XX века, является алфавитно-цифровое устройство ввода-вывода, например, комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы, снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён или может быть снабжён почти каждый современный компьютер. Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши) называются консолью компьютера.

В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в том числе подключенных через сеть, а также при помощи специальных программ-эмуляторов терминала, например, рисующих окно с текстом в графическом интерфейсе пользователя (текстовое окно).

В 1970-х годы и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы, подключаемые через последовательный порт к компьютеру напрямую или через модем. С распространением персональных компьютеров функции текстового терминала, как правило, выполняет компьютер, тот, на котором выполняется консольная программа, или другой. Программы ssh (а также Интернет или локальную сеть. Программы konsole и многие другие реализуют текстовый интерфейс посредством текстового окна в среде X Window System.

Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только), IBM PC под управлением памяти, связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде Microsoft Windows. Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в том числе и для приложений собственно Windows.

Windows для новичка: что такое консольные приложения

Каждый второй опытный пользователь, услышав от новичка фразу «А что такое консольная программа?», начинает скрежетать зубами. Поэтому если вы — новичок, то лучше прочитать эту статью, чтобы не напороться на этого второго из двух опытных, а если вы уже опытный пользователь, то имеет смысл подсунуть заметку новичку, чтобы тот нашёл ответ на свой вопрос.

Итак, что же скрывается за этим страшным словосочетанием — консольное приложение? Приложение, как вы знаете, это в мире Windows не то, что к чему-то прикладывается, а компьютерная программа. Word, Excel, пасьянс «Косынка» и Internet Explorer — это всё приложения. Приложения бывают разными. Не только в том смысле, что Word отличается от «Блокнота», но и по принципу организации своего пользовательского интерфейса. Интерфейс — это внешний вид программы, и в Windows он бывает двух типов. Первый — это графический, второй — текстовый. Графический интерфейс система подсовывает вам под нос ежедневно. Все программы, имеющие красивые разноцветные окна, имеют и графический интерфейс. Даже Word и «Блокнот», хоть и работают с текстом, но интерфейс имеют графический. Где же тогда в наши дни можно увидеть программу, работающую в режиме текстового интерфейса?

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

Дело в том, что ещё не так давно, около двадцати лет назад, мощности компьютеров, стоящих у пользователей дома и на работе, не хватало на отображение даже такой несложной графики, как окна (что и говорить о трёхмерных видеоиграх!). Поэтому компьютеру и пользователям приходилось общаться с помощью текста. Пользователь вводил специальные команды — например, команда dir в первой из систем производства Microsoft, DOS, позволяла просмотреть список файлов и папок в определённой директории, а команда ver показывала версию операционной системы, с которой работал пользователь. Программы, которые запускал пользователь, тоже, естественно, работали в текстовом режиме.

Командная строка, как вы видите, сохранилась в Windows до сих пор. Команды, которые можно выполнить из неё, подробно описаны в справке Windows. А приложения, которые выполняются в текстовом режиме, теперь называются консольными.

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

Консольных программ масса, и они используются часто для того, чтобы упростить рутинные действия пользователя. Дело в том, что с ними можно обращаться точно так же, как и с обычными командами. А те, в свою очередь, можно записать в специальный текстовый файл с расширением BAT или CMD (такой файл называется командным), и их можно потом выполнить все залпом как обычную программу — достаточно в «Проводнике» дважды кликнуть по этому файлу мышью.

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

Что такое командная строка и какие команды можно отдавать компьютеру.

Время чтения: 9 мин

  1. Кратко
  2. Как понять
  3. На практике
    1. Игорь Коровченко советует

    Обновлено 21 декабря 2021

    Кратко

    Скопировать ссылку «Кратко» Скопировано

    Интерфейс командной строки (терминал, консоль, Command line interface, CLI) позволяет человеку взаимодействовать с компьютером с помощью текстовых команд заданного формата. Эти команды указывают, что и в какой последовательности делать. В ответ компьютер может выводить на экран информацию о результатах работы той или иной команды.

    Как понять

    Скопировать ссылку «Как понять» Скопировано

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

    Запустить терминал можно как обычную программу в вашей операционной системе. На компьютерах Mac эта программа так и называется «Терминал». В операционных системах из семейства Linux терминал установлен по умолчанию и доступен не только в списке программ, но и по сочетанию клавиш Ctrl Alt T . В Windows программа для работы с консолью самой операционной системы установлена по умолчанию, находится в меню Пуск → Все программы → Стандартные и называется «Командная строка». Однако разработчикам больше подойдёт «PowerShell», ну а для полноценной работы лучше использовать WSL (Windows Subsystem for Linux) первой или второй версии. Эта программа позволяет использовать всю мощь командной строки Unix-подобных систем, её можно скачать из магазина приложений Microsoft Store. Процесс установки достаточно подробно описан в официальной документации.

    В «Терминале» текстовый интерфейс для пользователя выглядит следующим образом:

    Структура интерфейса командной строки

    Приглашение командной строки всегда отображается, когда операционная система готова выполнить следующую команду пользователя. В приглашение командной строки можно вывести довольно много разной информации. Обычно в приглашение помещается имя компьютера, терминалом которого вы пользуетесь, и имя текущего пользователя, например: UserName@MyComputer $ . Часто, кроме этой информации, может быть явным образом указана текущая директория, например: UserName @ MyComputer in / etc $ . Можно изменить цвет текста или поместить дату и время. В приглашении может хранится информация о текущей ветке в системе контроля версий, например: UserName @ MyComputer in / etc $ on git : main . Бывают и обратные ситуации, когда удобно использовать короткое приглашение, чтобы не загромождать интерфейс, например: > или $ .

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

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

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

    Нажмите клавишу Enter , чтобы выполнить команду. Все, что идёт после команды, называется аргументами командной строки. Часть специальных аргументов, которые настраивают работу команды, принято называть ключами (флагами, параметрами). С помощью ключей пользователь может указать, в каком режиме будет работать команда, задать значения по умолчанию и прочее. Ключи, состоящие из нескольких символов, принято обозначать двумя дефисами в начале. Например, для большинства команд можно посмотреть короткую справку с помощью ключа — — help . Часто используемые длинные ключи также имеют короткий аналог (псевдоним, alias) из одного символа, например -h для той же справки. Короткие ключи, как правило, можно указывать вместе, поставив перед ними дефис:

    • cal — вывод календаря для текущего месяца с подсвеченной текущей датой;
    • cal — h — не подсвечивать текущую дату;
    • cal — hj — не подсвечивать текущую дату и заменить числа месяца на номер дня в году;
    • cal — hy — не подсвечивать текущую дату и вывести календарь для всего текущего года.

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

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

    Для большинства стандартных команд существует подробное описание ключей и аргументов. Это описание доступно по команде man (от “manual”). Вы можете посмотреть краткую справку для этой команды так:

    На следующей строке вы видите текущую версию программы, затем идёт описание формата команды. Квадратные скобки указывают на аргумент, который можно использовать, но он не является обязательным. Без квадратных скобок указываются аргументы, которые использовать необходимо. Этого синтаксиса, как правило, придерживаются в любой справочной информации для команд текстового интерфейса. Например name обозначает имя команды, справку о которой мы хотим получить. Для получения справки по команде pwd нужно выполнить:

    Терминал перейдёт в специальный режим постраничного просмотра, в котором можно перемещаться клавишами → , ← , ↑ , ↓ , PgUp , PgDown , Home , End . Для того чтобы выйти из этого режима, нажмите клавишу Q . В справке написано, что команда pwd используется для того, чтобы узнать, в какой директории вы сейчас находитесь (рабочая директория). Имя этой команды идёт от аббревиатуры PWD — Present Working Directory. В любом случае вы работаете внутри какой-либо рабочей директории. Среди специальных директорий можно выделить:

    • корневую директорию, которая доступна в /;
    • домашнюю директорию пользователя, доступную в /home/<имя пользователя> или по псевдониму

    В Unix-подобных системах скрытые директории и файлы помечаются точкой в начале.

    Сочетание клавиш Ctrl A позволяет переместиться к началу строки, Ctrl E — к концу. Нажав Ctrl L вы сможете очистить экран, переместив строку приглашения на верх окна. То же самое делает команда clear . Клавиша Tab позволяет использовать автодополнение, например, для имён директорий или файлов. Двойное нажатие позволит посмотреть все доступные варианты. Клавишами ↑ , ↓ можно перемещаться по списку уже выполненных команд, что бывает очень удобно. Чтобы посмотреть полный список команд, которые были вызваны ранее, выполните:

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

    Существует довольно много разных терминалов. Самые распространённые для Unix-подобных систем — bash и zsh. Наиболее полный список терминалов можно посмотреть в таблице.

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

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