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

Что такое терминал в программировании

  • автор:

Что такое Терминал Windows?

Терминал Windows — это современное ведущее приложение для предпочитаемых вами оболочек командной строки, таких как Командная строка, PowerShell и Bash (через подсистему Windows для Linux (WSL)). К его основным функциям относится поддержка нескольких вкладок, панелей, символов Юникода и UTF-8, а также модуль отрисовки текста с ускорением GPU, возможность создания собственных тем и настройки текста, цвета, фона и сочетаний клавиш.

Более общие сведения см. в статье Скотта Хансельмана (Scott Hanselman) Разница между консолью, терминалом и оболочкой или просмотрите видео Рича Тернера (Rich Turner) Что собой представляет оболочка командной строки?.

Несколько профилей, поддерживающих различные приложения командной строки

Любое приложение с интерфейсом командной строки можно выполнять в Терминале Windows. Это касается всех приложений: от PowerShell и Командной строки до Azure Cloud Shell и любого дистрибутива WSL, например Ubuntu или Oh-My-Zsh.

Разрыв табуляции (предварительная версия)

Вы можете вырвать вкладки в Терминал Windows и создать новые окна.

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

Настраиваемые схемы и конфигурации

В Терминале Windows можно настроить различные цветовые схемы и параметры. Сведения о настройке запроса с помощью холодных тем см. в руководстве по настройке пользовательского запроса PowerShell или WSL с помощью O My Posh , чтобы узнать, как создать собственную цветовую схему, перейдите на страницу «Цветовые схемы».

Настраиваемые действия

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

Например, ярлык по умолчанию для копирования текста из командной строки — CTRL+SHIFT+C . Это можно изменить на CTRL+1 или любое, что вы предпочитаете. Чтобы открыть новую вкладку, по умолчанию используется сочетание клавиш CTRL+SHIFT+T , но может потребоваться изменить его на CTRL+2 . Сочетание клавиш по умолчанию для перевернутого между открытыми вкладками — CTRL+TAB , это может быть изменено на CTRL+- и используется для создания новой вкладки.

Дополнительные сведения о настройке сочетаний клавиш см. на странице «Действия».

Поддержка символов Юникода и UTF-8

В Терминале Windows могут отображаться символы Юникода и UTF-8, например эмодзи и символы из различных языков.

Отрисовка текста с ускоренным GPU

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

Поддержка фоновых изображений

В окне Терминала Windows можно использовать фоновые изображения и изображения в формате GIF. Сведения о добавлении фоновых изображений в профиль см. на странице Профиль — внешний вид.

Command line arguments

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

Например, чтобы открыть Терминал Windows из PowerShell с тремя панелями (на левой панели будет запущен профиль Командной строки, а правая панель будет разделена для PowerShell и ваш профиль по умолчанию с WSL), введите:

wt -p "Command Prompt" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe 

Сведения о настройке аргументов командной строки см. на этой странице.

Совместная работа с нами на GitHub

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

Терминал: необходимый минимум команд для начала работы

Терминал — это специальная оболочка для текстовых команд, которую используют как фронтенд-, так и бэкенд-разработчики. Первым он полезен в создании и управлении проектами (в основном npm и git), а вторым — для управления ресурсами на сервере.

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

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

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

Узнай, какие ИТ — профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains

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

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains

Павел Симонов
Исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

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

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

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

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

Получить подборку бесплатно
Уже скачали 26175

Как запустить терминал

На системах macOS и Linux уже есть встроенный терминал. Если работаете на Windows, можно скачать отдельный клиент. Он также потребуется для действий с git, если вы выберете работу с консолью. При установке будет много вкладок с галочками — для начала можно оставить всё дефолтно.

Чтобы воспользоваться терминалом, нужно запустить Git Bash:

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

Основные команды для работы в терминале

pwd — полный путь до папки, в которой находитесь сейчас:

ls — просмотр содержимого открытой папки:

У команд есть ключи — например, можно написать команду ls с ключом -a и увидеть список всех файлов, в том числе скрытых. Как правило, у всех команд терминала есть такие дополнительные ключи. Их может быть довольно много — например, как в списке ключей для команды ls.

ls -la выводит дополнительную информацию (о правах, владельце, дате редактирования и размере).

ls путь до папки поможет посмотреть содержимое в папке, в которую вы прокладываете навигацию относительно вашего текущего места. Например, вы находитесь в папке ~geekbrains и хотите просмотреть файлы в ~geekbrains/adaptive — тогда вам нужно написать ls adaptive.

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

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

cd прокладывает навигацию к корневой папке, то есть к user.

Для вас подарок! В свободном доступе до 11.02 —>
Скачайте ТОП-10
бесплатных нейросетей
для программирования
Помогут писать код быстрее на 25%
Чтобы получить подарок, заполните информацию в открывшемся окне

cd название папки прокладывает навигацию к любой папке. Это происходит примерно по той же схеме, что в проводнике или Finder.

cd .. — поднимает вас на один уровень в файловой системе. Например, если находились в ~geekbrains/adaptive, то после команды окажетесь в ~geekbrains. Также можно использовать запись cd ../.. — так вы подниметесь на два уровня. Уточним пример: будем использовать pwd, чтобы видеть, где мы находимся, и ls, чтобы смотреть содержимое папок:

mkdir название папки — создаёт папку. В примере сначала и в конце просматриваем папки при помощи ключа ls, чтобы убедиться, что папка создалась:

touch название файла — создаёт файл, а также указывает расширение, например touch index.html. На скриншоте при первой команде ls ничего не вывелось в терминал, потому что папка была пустой.

Дарим скидку от 60%
на курсы от GeekBrains до 11 февраля
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей

cat название — показывает текстовое содержимое файла. На скриншоте видим его у файла index.html, открытого в VSCode, а также наблюдаем вывод в консоли.

mv старое_имя новое_имя — переименовывает файл:

rm имя файла — удаляет его:

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

clear — очищает консоль от предыдущих команд и выводов.

node файл — запускает js-файл. Чтобы это сделать, нужно установить на свой компьютер node. В примере использован файлик со строкой, поэтому в консоли появляется вывод «script»:

console.log(‘script’);

Только до 8.02
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:

ТОП-100 площадок для поиска работы от GeekBrains

20 профессий 2023 года, с доходом от 150 000 рублей

Чек-лист «Как успешно пройти собеседование»

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

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

Терминал

Как было показано в предыдущей лекции 1, основное средство общения с Linux — системная клавиатура и экран монитора, работающий в текстовом режиме. Вводимый пользователем текст немедленно отображается на мониторе соответствующими знаками, однако может и не отображаться, как в случае ввода пароля. Для управления вводом используются некоторые нетекстовые клавиши на клавиатуре: Backspace (он же ”Забой”) — для удаления последнего введенного символа или Enter — для передачи команды системе. Нажатие на эти клавиши не приводит к отображению символа, вместо этого вводимый текст обрабатывается системой тем или иным способом:

[ivan@localhost ivan]$ data -bash: data: command not found [ivan@localhost ivan]$ date Вск Сен 12 13:59:36 MSD 2004

Пример 2.1. Сообщение об ошибке

Вначале Иван ошибся, и вместо команды date написал data . В ответ он получил сообщение об ошибке, поскольку такой команды система не понимает. Затем (этого не видно в примере, но случилось именно так!) он снова набрал data , но вовремя одумался и, нажав клавишу Backspace , удалил последнее a , вместо которого ввел e , превратив data в date . Такая команда в системе есть, и на экране возникла текущая дата.

Диалог машины и пользователя неспроста выглядит как обмен текстами. Именно письменную речь используют люди для постановки и описания решения задач в заранее определенном, формализованном виде. Поэтому и задача управления системой может целиком быть представлена и решена в виде формализованного текста — программы. При этом машине отводится роль аккуратного исполнителя программы, а человеку — роль автора. Кроме того, человек анализирует текст, получаемый от системы: запрошенную им информацию и текст сообщения — текст, описывающий состояние системы в процессе решения задачи (например, сообщение об ошибке ”command not found”).

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

Терминалом может быть отдельное внешнее устройство, подключаемое к компьютеру через порт последовательной передачи данных (в персональном компьютере он называется ”COM port”). В роли терминала может работать (с некоторой поддержкой со стороны системы) и программа (например, xterm или ssh). Наконец, виртуальные консоли Linux — тоже терминалы, только организованные программно с помощью подходящих устройств современного компьютера.

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

Для приема и передачи текста терминалу достаточно уметь принимать и передавать символы, из которых этот текст состоит. Более того, желательно, чтобы единицей обмена с компьютером был именно один байт (один ascii-символ). Тогда каждая буква, набранная на клавиатуре, может быть передана системе для обработки, если понадобится. С другой стороны, типичный способ управления системой в Linux — работа в командной строке — требует построчного режима работы, когда набранный текст передается компьютеру только после нажатия клавиши Enter (что соответствует символу конца строки). Размер такой строки в байтах предугадать, конечно, нельзя, поэтому, работающий в построчном режиме терминал, ничем, по сути, не отличается от терминала, работающего в посимвольном режиме — за исключением того, что активность системы по обработке приходящих с этого терминала данных падает в несколько раз (обмен ведется не одиночными байтами, а целыми строками).

Свойство терминала передавать только символьную информацию приводит к тому, что некоторые из передаваемых символов должны восприниматься не как текстовые, а как управляющие (например, символы, возвращаемые клавишами Backspace и Enter ). На самом деле управляющих символов больше: часть из них предназначена для экстренной передачи команд системе, часть — для редактирования вводимого текста. Многие из этих символов не имеют специальной клавиши на клавиатуре, поэтому их необходимо извлекать с помощью клавиатурного модификатора Ctrl .

Команды, подаваемые с клавиатуры с помощью Ctrl , как и символы, передаваемые при этом системе, принято обозначать знаком ^ , после которого следует имя клавиши, нажимаемой вместе с Ctrl : например, одновременное нажатие Ctrl и А обозначается ^A .

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

[ivan@localhost ivan]$ cat Any Text Any Text ^C [ivan@localhost ivan]$ cat Any Text agaim^[[Dn Any Text again ^D [ivan@localhost ivan]$

Пример 2.2. Как завершить работу cat?

Одну строчку вида Any Tex. Иван вводит с клавиатуры (что отображается на экране), и после того, как Иван нажмет Enter , она немедленно выводится программой cat (что тоже отображается на экране). С каждой последующей строкой программа cat поступила бы аналогично, но в примере Иван оба раза завершил работу программы, в первом случае нажав ^C , а во втором — ^D . Команды оказали одинаковый эффект, но работают они по-разному: ^C посылает программе, которая считывает с клавиатуры сигнал аварийного прекращения работы, а ^D сообщает ей, что ввод данных с клавиатуры закончен и можно продолжать работу (поскольку программа cat больше ничего не делает, она завершается самостоятельно, естественным путем). Можно считать, что ^C — это сокращение от ”Cancel”, а ^D — от ”Done”.

В примере не показано, как, набирая первый cat , Иван вновь ошибся и написал ccat вместо cat . Чтобы исправить положение, он воспользовался клавишами со стрелочками: с помощью клавиши Стрелка влево подвел курсор к одному из c и нажал Backspace , а затем Enter . В режиме ввода команды это ему удалось, а при передаче данных программе cat клавиша Стрелка влево не сдвинула курсор, а передала целую последовательность символов: ^[ , [ и D . Дело в том, что на клавиатуре может быть так много разных нетекстовых клавиш, что на них не хватает ограниченного количества разных управляющих символов. Поэтому большинство нетекстовых клавиш возвращают так называемую управляющую последовательность, которая начинается управляющим символом (как правило — Escape , т. е. ^[ ), за которым следует строго определенное число обычных символов (для клавиши Стрелка влево — [ и D ).

То же самое можно сказать и о выводе управляющих последовательностей на терминал. Современный терминал имеет довольно много возможностей помимо простого вывода текста: перемещать курсор по всему экрану (чтобы вывести текст), удалять и вставлять строки на экране, использовать цвет и т. п. Всем этим заведуют управляющие последовательности, которые при выводе на экран терминала не отображаются как текст, а выполняются заранее заданным способом. В некоторых случаях управляющие последовательности, возвращаемые клавишами, совпадают с теми, что управляют поведением терминала. Поэтому-то Иван и не увидел Any Text agaim^[[Dn в выдаче cat: ^[[D при выводе на терминал перемещает курсор на одну позицию влево, так что было выведено Any Text agaim , затем курсор встал прямо над m и поверх него было выведено n . Если бы терминал имел вместо дисплея печатающее устройство, в этом месте обнаружилось бы нечто, состоящее из начертаний m и n .

Рис. 2.1. Интерфейс командной строки. Взаимодействие пользователя с компьютером посредством терминала.

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

  • передавать текстовые данные от пользователя системе;
  • передавать от пользователя системе немногочисленные управляющие команды;
  • передавать текстовые данные от системы пользователю;
  • (необязательно) интерпретировать некоторые данные, передаваемые от системы пользователю, как управляющие последовательности и соответственно обрабатывать их.

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

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

Что такое сигнатура в программировании: терминология и примеры

5 привычек, мешающих писать хороший код

Сергей Немчинский: Стоит ли учить старые версии языков программирования, когда есть новые?

Где найти ментора?

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

Что такое консоль в программировании

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

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

Консоль, как правило, выглядит очень просто, она напоминает экран старомодного компьютера, на котором написан код. Так выглядело программирование до того, как появились программы с графическим интерфейсом — GUI.

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

Общего у них только то, что и то, и другое — узкоспециализированное дополнение к основному функционалу. Но именно поэтому некоторые разработчики не любят само слово «консоль», и используют английские слова — «terminal» и “shell”. При этом терминал это сам интерфейс, а шелл — то приложение, внутри которого он вызывается.

Консоль и командная строка

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

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

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

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

Похожие материалы

IDE и редакторы кода для Python

Что такое сигнатура в программировании: терминология и примеры

5 привычек, мешающих писать хороший код

Сергей Немчинский: Стоит ли учить старые версии языков программирования, когда есть новые?

Где найти ментора?
В чем состоит основная функция консоли в программировании?

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

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

Консоль может быть использована для отладки приложений путем вывода сообщений об ошибках и другой отладочной информации. Разработчики могут использовать команду «console.log()» для вывода сообщений в консоль и отслеживания процесса выполнения приложения. Это особенно полезно при разработке веб-приложений, где консоль используется для отображения информации об AJAX-запросах и других процессах.

Какие команды часто используются в консоли для программирования?

Существует множество команд и утилит, доступных в консоли, но некоторые из наиболее часто используемых включают команды для работы с файлами и папками, такие как «cd» и «ls», а также команды для работы с сетью, такие как «ping» и «nslookup». Однако, для каждого языка программирования могут быть свои особенности в использовании консоли.

Какую пользу может принести использование консоли в программировании?

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

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

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