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

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

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

решение1

Короткий ответ:

  • Терминал= среда текстового ввода/вывода
  • консоль= физический терминал
  • оболочка= интерпретатор командной строки

Длинный ответ:

Консоль и терминал тесно связаны. Первоначально они означали часть оборудования, через которое можно было взаимодействовать с компьютером: в ранние дни unix это означалотелетайп- устройство в стиле, напоминающее пишущую машинку, иногда называемое телетайпом или «tty» в сокращении. Название «терминал» пришло с точки зрения электроники, а название «консоль» — с точки зрения мебели. Очень рано в истории unix электронные клавиатуры и дисплеи стали нормой для терминалов.

Терминал

В терминологии Unix,Терминалэто особый видфайл устройствакоторый реализует ряд дополнительных команд (ioctl-выводы) за пределами чтения и записи. Некоторые терминалы предоставляются ядром от имени аппаратного устройства, например, с вводом, поступающим с клавиатуры, и выводом, идущим на экран текстового режима, или с вводом и выводом, передаваемыми по последовательной линии. Другие терминалы, иногда называемые псевдотерминалами или псевдо-tty, предоставляются (через тонкий слой ядра) программами, называемымиэмуляторы терминала. Некоторые типы эмуляторов терминала включают в себя:

  • Приложения с графическим интерфейсом, работающие вX-Window-система:Xterm, Gnome Terminal, Konsole, Terminator и т. д.
  • Экраниtmux, который обеспечивает уровень изоляции между программой и другим терминалом
  • Тссс, который соединяет терминал на одной машине с программами на другой машине
  • Ожидать, для написания сценариев взаимодействия с терминалом

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

Консоль

Аконсольобычно является терминалом в физическом смысле, который по некоторому определению является основным терминалом, напрямую подключенным к машине. Консоль представляется операционной системе как (реализованная ядром) терминал. В некоторых системах, таких как Linux и FreeBSD, консоль представляется как несколько терминалов (tty) (переключение между этими терминалами осуществляется с помощью специальных комбинаций клавиш); просто чтобы запутать ситуацию, имя, данное каждому конкретному терминалу, может быть «консоль», «виртуальная консоль», «виртуальный терминал» и другими вариациями.

Смотрите такжеПочему виртуальный терминал «виртуальный» и что/почему/где находится «настоящий» терминал?.

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

Акомандная строкаэто интерфейс, в котором пользователь вводит команду (которая выражается в виде последовательности символов — обычно имени команды, за которым следуют некоторые параметры) и нажимает клавишу Returnдля выполнения этой команды.

Оболочка

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

В кругах Unix,оболочкаимеет специализированное значение для обозначениякомандная строка оболочки, сосредоточенный вокруг ввода имени приложения, которое нужно запустить, за которым следуют имена файлов или других объектов, с которыми должно работать приложение, и нажатие клавиши Enter. Другие типы сред (за исключением Gnome Shell) обычно не используют слово «shell»; например, оконные системы включают «оконные менеджеры" и "среды рабочего стола», а не «оболочка».

Существует множество различных оболочек Unix. Оболочка Ubuntu по умолчанию —Баш(как и большинство других дистрибутивов Linux). Популярные альтернативы включаютзш(что подчеркивает мощность и настраиваемость) ирыба(что подчеркивает простоту).

Командные оболочки включают конструкции управления потоком для объединения команд. Помимо ввода команд в интерактивном режиме, пользователи могут писать скрипты. Наиболее распространенные оболочки имеют общий синтаксис, основанный наBourne_shell. При обсуждении «программирование оболочки», оболочка почти всегда подразумевает оболочку в стиле Bourne. Некоторые оболочки, которые часто используются для написания скриптов, но не имеют расширенных интерактивных функций, включаютоболочка Korn (ksh)и многопепелварианты. Практически в любой Unix-подобной системе установлена ​​оболочка в стиле Bourne /bin/sh, обычно ash, ksh или bash. В Ubuntu /bin/shэтоБросаться, вариант ash (выбран потому, что он быстрее и использует меньше памяти, чем bash).

В системном администрировании Unix пользовательоболочкаэто программа, которая вызывается при входе в систему. Учетные записи обычных пользователей имеют оболочку командной строки, но пользователи с ограниченным доступом могут иметьограниченная оболочкаили какую-либо другую конкретную команду (например, для учетных записей, предназначенных только для передачи файлов).


Разделение труда между терминалом и оболочкой не совсем очевидно. Вот их основные задачи.

  • Ввод: терминал преобразует клавиши в управляющие последовательности (например, Left\e[D). Оболочка преобразует управляющие последовательности в команды (например, \e[Dbackward-char).
  • Оболочка обеспечивает редактирование строк, историю ввода и автодополнение.
    • Терминал может предоставлять собственную редакцию строки, историю и завершение вместо этого, и только отправлять строку в оболочку, когда она готова к выполнению. Единственный распространенный терминал, который работает таким образом, находится M-x shellв Emacs.
  • Вывод: оболочка выдает инструкции, такие как «отобразить foo», «изменить цвет переднего плана на зеленый», «переместить курсор на следующую строку» и т. д. Терминал выполняет эти инструкции.
  • Подсказка — это чисто оболочная концепция.
  • Оболочка никогда не видит вывод команд, которые она запускает (если только не перенаправлена). История вывода (прокрутка назад) — это чисто терминальная концепция.
  • Копирование-вставка между приложениями обеспечивается терминалом (обычно с помощью мыши или последовательностей клавиш, таких как Ctrl+ Shift+ Vили Shift+ Insert). Оболочка также может иметь свой собственный внутренний механизм копирования-вставки (например, Meta+ Wи Ctrl+ Y).
  • Контроль работы(запуск программ в фоновом режиме и управление ими) в основном выполняется оболочкой. Однако именно терминал обрабатывает комбинации клавиш, такие как Ctrl+ Cдля завершения приоритетной задачи и Ctrl+ Zдля ее приостановки.

Переработано изЮникс и Линукс

решение2

Визуальное представление.

Терминал

Что-то, за что можно сесть и работать как босс.

Терминал

Консоль

Некое оборудование, которое выполняет кучу функций.

Консоль

Другим примером консоли может служить игровая приставка, например Super Nintendo [на которой можно играть в Actraiser].

Оболочка

По сути это приложение для запуска команд.

ОболочкаОболочка

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

По сути, это все, куда вы вводите команды.

CLICLI

решение3

ИзИнформационный проект Linux:

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

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

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

Оболочка:Оболочка — это программа, которая обеспечивает традиционный текстовый пользовательский интерфейс для Linux и других Unix-подобных операционных систем.

Командная строка: Командная строка — это пространство справа от командной строки в текстовом режиме отображения на мониторе компьютера (обычно ЭЛТ- или ЖК-панели), в котором пользователь вводит команды и данные.

решение4

TheОболочкаэто программа, котораяпроцессыкоманды ивозвращаетсявывод, как у Bash в Linux.

АТерминалэто программа, которая запускаетОболочка. В прошлом это былофизическое устройство(до того, как терминалы стали мониторами с клавиатурами, они былителетайпы), а затем его концепция была перенесена в программное обеспечение, например, в GNOME Terminal.

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

АКонсольэтоспециальный вид терминала. Это также былофизическое устройство. Например, в Linux у нас естьвиртуальные консоли, к которому мы можем получить доступ с помощью комбинации Ctrl+ Alt+ F1для F7.

Консольиногда означает клавиатуру и мониторфизическиподключен к этому компьютеру.

Связанный контент