В чем разница между терминалом, консолью, оболочкой и командной строкой?
решение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[D
→backward-char
). - Оболочка обеспечивает редактирование строк, историю ввода и автодополнение.
- Терминал может предоставлять собственную редакцию строки, историю и завершение вместо этого, и только отправлять строку в оболочку, когда она готова к выполнению. Единственный распространенный терминал, который работает таким образом, находится
M-x shell
в Emacs.
- Терминал может предоставлять собственную редакцию строки, историю и завершение вместо этого, и только отправлять строку в оболочку, когда она готова к выполнению. Единственный распространенный терминал, который работает таким образом, находится
- Вывод: оболочка выдает инструкции, такие как «отобразить
foo
», «изменить цвет переднего плана на зеленый», «переместить курсор на следующую строку» и т. д. Терминал выполняет эти инструкции. - Подсказка — это чисто оболочная концепция.
- Оболочка никогда не видит вывод команд, которые она запускает (если только не перенаправлена). История вывода (прокрутка назад) — это чисто терминальная концепция.
- Копирование-вставка между приложениями обеспечивается терминалом (обычно с помощью мыши или последовательностей клавиш, таких как Ctrl+ Shift+ Vили Shift+ Insert). Оболочка также может иметь свой собственный внутренний механизм копирования-вставки (например, Meta+ Wи Ctrl+ Y).
- Контроль работы(запуск программ в фоновом режиме и управление ими) в основном выполняется оболочкой. Однако именно терминал обрабатывает комбинации клавиш, такие как Ctrl+ Cдля завершения приоритетной задачи и Ctrl+ Zдля ее приостановки.
Переработано изЮникс и Линукс
решение2
Визуальное представление.
Терминал
Что-то, за что можно сесть и работать как босс.
Консоль
Некое оборудование, которое выполняет кучу функций.
Другим примером консоли может служить игровая приставка, например Super Nintendo [на которой можно играть в Actraiser].
Оболочка
По сути это приложение для запуска команд.
Интерфейс командной строки]
По сути, это все, куда вы вводите команды.
решение3
ИзИнформационный проект Linux:
Терминал: Технически, окно терминала, также называемое эмулятором терминала, представляет собой текстовое окно в графическом пользовательском интерфейсе (GUI), которое эмулирует консоль.
По-нашему это приложение с графическим интерфейсом, из которого мы можем получить доступ к консоли пользователя.
Консоль: приборная панель, содержащая элементы управления компьютером
Оболочка:Оболочка — это программа, которая обеспечивает традиционный текстовый пользовательский интерфейс для Linux и других Unix-подобных операционных систем.
Командная строка: Командная строка — это пространство справа от командной строки в текстовом режиме отображения на мониторе компьютера (обычно ЭЛТ- или ЖК-панели), в котором пользователь вводит команды и данные.
решение4
TheОболочкаэто программа, котораяпроцессыкоманды ивозвращаетсявывод, как у Bash в Linux.
АТерминалэто программа, которая запускаетОболочка. В прошлом это былофизическое устройство(до того, как терминалы стали мониторами с клавиатурами, они былителетайпы), а затем его концепция была перенесена в программное обеспечение, например, в GNOME Terminal.
Итак, когда я открываю Терминал GNOME, появляется черное окно, в котором запущенОболочкапоявляется, чтобы я мог выполнить свои команды.
АКонсольэтоспециальный вид терминала. Это также былофизическое устройство. Например, в Linux у нас естьвиртуальные консоли, к которому мы можем получить доступ с помощью комбинации Ctrl+ Alt+ F1для F7.
Консольиногда означает клавиатуру и мониторфизическиподключен к этому компьютеру.