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


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


161
2018-05-24 13:22


Источник


и что насчет prompt и даже command line? - n611x007
Взгляните на этот вопрос из Unix & Linux: unix.stackexchange.com/questions/4126/... - Flimm
Моя жена сказала «черный экран», - Kenji Noguchi


Ответы:


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

оболочка это программа, которая фактически обрабатывает команды и возвращает выходные данные. Большинство оболочек также управляют передними и фоновыми процессами, истории команд и редактированием командной строки. Эти функции (и многие другие) являются стандартными в bash, наиболее распространенная оболочка в современных Linux-системах.

Терминал относится к программе-оболочке, которая запускает оболочку. Десятилетия назад это было физическое устройство, состоящее не более, чем монитор и клавиатура. Поскольку системы unix / linux добавили лучшие многопроцессорные и оконные системы, эта концепция терминала была абстрагирована в программное обеспечение. Теперь у вас есть программы, такие как Терминал Gnome который запускает окно в среде окон Gnome, которая будет запускать оболочка в который вы можете вводить команды.

консоль это особый вид Терминал, Исторически консоль была единственной клавиатурой и монитором, подключенным к выделенному последовательному консольному порту на компьютере, используемом для прямой связи на низком уровне с операционной системой. Современные системы Linux обеспечивают виртуальные консоли, Доступ к ним осуществляется посредством сочетаний клавиш (например, Alt+F1 или Ctrl+Alt+F1; функциональная клавиша номера различных консолей), которые обрабатываются на низких уровнях операционной системы Linux - это означает, что нет специальной службы, которая должна быть установлена ​​и настроена для запуска. Взаимодействие с консолью также выполняется с помощью оболочка программа.


142
2018-05-24 13:37



До терминалов были мониторы с клавиатурами, они были телетайпами - своего рода электрическая пишущая машинка. en.wikipedia.org/wiki/Teleprinter - Kevin Panko
Консоль иногда означает «клавиатура и монитор, физически прикрепленные к этому компьютеру». Например, «Я вошел в систему с консоли, потому что сервер не отвечал на сеть». - Kevin Panko
@Doug Harris: Можете ли вы добавить несколько фотографий об оборудовании, о котором вы говорите? - claws
Когда я был в колледже в конце 1980-х годов, я много работал над терминалами DEC VT220 - en.wikipedia.org/wiki/VT220 - Это хороший пример физического устройства, которое я описал. - Doug Harris
Так что если терминалы а также консоли в современном мире каждый реализован в программном обеспечении - в чем разница между двумя (сейчас)? - Gavin Hope


Оболочка - это программа, которая выдает приглашение и ждет ввода команд. Он выполняет их, а затем печатает другое приглашение. Итак, как CMD в Windows или Bash в Unix. Он может работать в терминале или на консоли.

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

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


10
2018-05-24 13:39





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

Вы можете использовать свой предпочтительный редактор: vim, gedit, emacs, notepad ++, Netbeans, eclise и т. Д., Но в конце они просто разные инструменты: если вы пишете ту же программу, то вывод будет таким же.
В этой метафоре оболочка является компилятором. Команды, которые вводятся в терминал, отправляются в оболочку, которая интерпретирует их и выполняет их немедленно.
Таким образом, хотя терминалы являются только интерфейсами для оболочки, оболочка содержит фактический язык, как это происходит для компилятора.

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

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

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


1
2017-09-21 20:13





Там действительно не так много. Обратный путь, когда «оболочка» была программой, «терминал» был интерфейсной оболочкой для этой программы, а «консоль» была физическим подключением к компьютеру (клавиатура / экран).

В зависимости от того, какая ОС вы работаете, есть разница. «Стандартная» оболочка BASH, который обычно доступен во всех вариантах Linux / Unix. Windows использует совершенно другую оболочку.


0
2018-05-24 13:37





Терминал представляет собой текстовый интерфейс (возможно, для оболочки)

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

Терминал является (согласно Википедии) «последовательный компьютерный интерфейс для ввода и отображения текста. Информация представлена ​​в виде массива предварительно выбранных образованных символов».

Вы можете использовать терминал для взаимодействия с оболочкой, но вы также можете использовать его для взаимодействия с текстовый графический интерфейс, иногда называемый Терминальный пользовательский интерфейс, Например:

  • напор имеет элементы GUI, включая номера строк и названные вкладки
  • Nano имеет элементы GUI, включая меню помощи команд
  • Tmux имеет элементы GUI, включая строку состояния и разделительные линии между стеклами
  • Миником имеет элементы GUI, включая меню и строку состояния

В каждом случае элементы GUI «нарисованы» с текстом, а не с пикселями.


0
2018-01-27 21:26



Я не уверен в этом определении того, что это только текст. В некотором смысле некоторые GUI можно рассматривать как терминалы imo. - jiggunjer


Для начинающих новичков

Для более подробного описания: https://askubuntu.com/a/506628/130518

  • терминал = текстовая среда ввода / вывода
  • console = физический терминал
  • shell = интерпретатор командной строки

В этом тексте я буду описывать наиболее нормальный вариант использования.

Терминал использования как ад. Оболочка может работать без терминала.

Чтобы относиться к повседневным предметам:

  • Терминал -> экран телевизора в вашем доме
  • Shell -> Программа, которая работает на экране телевизора

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

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

Несколько примеров терминалов, которые существуют:

  • Командная строка
  • Guake
  • гном-терминал
  • терминатор

Несколько примеров оболочек, которые существуют:

  • удар
  • sh (оболочка Bourne)
  • PowerShell [окна]
  • zsh (Z-оболочка)

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


0
2018-03-06 10:29