Я плутаю термінологію. Яка різниця між оболонкою, консоллю та терміналом?
Я плутаю термінологію. Яка різниця між оболонкою, консоллю та терміналом?
Відповіді:
У світі Linux вони можуть виглядати однаково з точки зору користувача на клавіатурі. Відмінності полягають у тому, як вони взаємодіють між собою.
Оболонки є програма , яка фактично обробляє команди і повертає висновок. Більшість оболонок також керують процесами переднього плану та фонових зображень, історією команд та редагуванням командного рядка. Ці функції (та багато іншого) є стандартними bash
, найпоширенішими оболонками в сучасних системах Linux.
Термінал відноситься до програми обгортки , яка проходить оболонку. Десятиліття тому це був фізичний пристрій, що складався з трохи більше, ніж монітор і клавіатура. Оскільки системи unix / linux додали кращих багатопроцесорних та віконних систем, ця концепція терміналу була абстрагована у програмному забезпеченні. Тепер у вас є такі програми, як Gnome Terminal, який запускає вікно в середовищі вікон Gnome, в якому буде запущена оболонка, в яку ви можете вводити команди.
Консоль являє собою особливий вид терміналу . Історично консоль являла собою єдину клавіатуру та монітор, підключений до спеціалізованого послідовного порту консолі на комп'ютері, який використовується для прямого зв’язку на низькому рівні з операційною системою. Сучасні системи Linux надають віртуальні консолі . До них можна отримати комбінації клавіш (наприклад, Alt+ F1або Ctrl+ Alt+ F1; функціональна клавіша містить номери різних консолей), які обробляються на низьких рівнях операційної системи Linux - це означає, що немає спеціальної служби, яка повинна бути встановлена та налаштована для запуску . Взаємодія з консоллю також здійснюється за допомогою програми оболонки .
Оболонка - це програма, яка створює підказку і чекає, коли ви введете команди. Він виконує їх, а потім друкує ще одне підказку. Отже, як CMD в Windows, або Bash в Unix. Він може працювати в терміналі або на консолі.
Спочатку консоль була фізичною річчю, пульт управління. Під термінами обчислення зазвичай означає дисплей, який ви бачите до запуску GUI або після його закінчення; іноді ви можете переключитися на його відображення замість GUI. Це місце, де операційна система друкує повідомлення про помилки. На багатокористувацькому комп'ютері це фактично прикріплений до комп'ютера дисплей. Просто для того, щоб вас заплутати, в Windows це також може означати вікно з командною оболонкою, тобто термінал.
Термінал також спочатку був апаратним засобом, який використовувався для зв'язку з комп'ютером. В даний час воно зазвичай посилається на вікно з командним рядком (оболонкою), яке може з'явитися у вікні графічного інтерфейсу або замість GUI.
Різниця між консоллю та оболонкою - одна, яку я ще не розумію, але можу сказати, чим термінал відрізняється від оболонки.
Термінал знаходиться ( згідно Вікіпедії ) «послідовний комп'ютерний інтерфейс для введення тексту і відображення. Інформація представлена в вигляді масиву попередньо обраних символів , утворених».
Ви можете використовувати термінал для взаємодії з оболонкою, але ви можете також використовувати його для взаємодії з текстовим графічним інтерфейсом , який іноді називають інтерфейсом користувача терміналу . Наприклад:
У кожному випадку елементи графічного інтерфейсу "намальовані" текстом, а не пікселями.
Більш детальний опис: https://askubuntu.com/a/506628/130518
Я опишу найбільш звичайний випадок використання для цього в наступному тексті.
Термінал використовує оболонку. Оболонка може працювати без терміналу.
Що стосується повсякденних предметів:
Ще один спосіб його погляду: вуха (вхід) і рот (вихід) - це клеми для звуку. Ваш мозок є перекладачем цих звуків, використовуючи певну оболонку (обробку).
Термінал призначений для нас, тому ми можемо читати і записувати в / з оболонки. Оболонки можуть працювати в фонових процесах, які не потребують взаємодії з людьми, наприклад, робота з крон, а тому не потребує терміналу.
Кілька прикладів існуючих терміналів:
Кілька прикладів снарядів, які існують:
Я писав лише про те, як нормально працюють ці двоє, є й інші способи роботи, але це для більш досвідченого користувача.
Подумайте над іншим контекстом, тобто розвитком.
Навіть якщо ви не маєте глибоких знань щодо розробки, ви, мабуть, знаєте основи, тобто: ви редагуєте програму, подаєте її до компілятора або інтерпретатору, який створює складений додаток.
Консоль - це як редактор вашої програми; це допомагає вам у письмовій формі, але насправді нічого не виконує: після закінчення ви надсилаєте його до компілятора.
Ви можете використовувати бажаний редактор, vim, gedit, emacs, блокнот ++, Netbeans, eclise etc.etc, але наприкінці вони є просто різними інструментами: якщо ви пишете ту саму програму, вихід буде однаковим.
У цій метафорі оболонка є компілятором. Команди, які вводяться в термінал, надсилаються до оболонки, яка їх інтерпретує та виконує негайно.
Отже, хоча термінали є лише передніми для оболонки, оболонка містить фактичну мову, як це відбувається для компілятора.
Очевидно, що термінал не є саме текстовим редактором, головним чином тому, що він не створює файл, але надсилає текст до базової оболонки та отримує вихід з неї.
І оболонка не є компілятором, насправді вона інтерпретує вашу команду і виконує її негайно, а не створює виконуваний файл.
Навіть незважаючи на цю велику різницю, я вважаю, що ця метафора допомагає багато в розумінні цієї ідеї.
Насправді немає великої різниці. Зрештою, коли "оболонка" була програмою, "термінал" був оберткою для цієї програми, а "консоль" - фізичним підключенням до комп'ютера (клавіатура / екран).
Існує різниця залежно від того, яку ОС ви працюєте. "Стандартна" оболонка - це BASH , яка, як правило, доступна для будь-яких ароматів Linux / Unix. У Windows використовується зовсім інша оболонка.
prompt
і навітьcommand line
?