2

И Mac OS X, и Ubuntu (и другие ОС Linus) имеют терминал / командную строку.

Являются ли эти терминалы одинаковыми для разных ОС? Если нет, в чем разница?

2 ответа2

4

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

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

В настоящее время это эмулируется этими приложениями, такими как Terminal.app в OS X или GNOME Terminal для графического интерфейса GNOME в дистрибутивах Linux.

Поскольку он отделен от оболочки, которую вы можете запустить (например, bash, zsh, ...), вы можете использовать любой другой эмулятор терминала. Например, в OS X вы можете использовать iTerm 2, который предлагает немного больше, чем обычное терминальное приложение.

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

  • копирование и вставка в графический интерфейс
  • отправка специальных команд в оболочку (так называемые escape-последовательности ; ваш терминал, например, отобразит Cmd - Right Arrow в соответствующую последовательность оболочки, чтобы перейти в конец строки *)
  • разрешить другие сочетания клавиш с горячими клавишами
  • позволяя оболочке отслеживать мышь
  • позволяет одновременно работать нескольким вкладкам с разными оболочками
  • позволяя перетащить значок файла в оболочку, чтобы получить его реальный путь
  • уведомление графического интерфейса пользователя о событиях (например, о мигающем экране или росте)
  • и т.п.

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

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


* Обратите внимание, что это довольно упрощенное утверждение. Терминалу просто нужно найти способ сопоставления специальных клавиш - особенно на Mac, где есть клавиша Command - с командами, которые может понять оболочка.

** Это также функциональность терминала: отображение цветов. На самом деле вы можете настроить свой терминал так, чтобы вместо него отображалось, что оболочка должна быть зеленой, а не красной . Это прежде всего вопрос настройки.

1

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

оболочка (или интерпретатор команд) запускает команды и возвращает результаты. вы в основном можете запускать одни и те же оболочки в обеих операционных системах:

  • удар
  • CSH
  • КШ
  • ЗШ

Оболочки упомянутых операционных систем (в тегах вопроса) используют одни и те же основные команды, потому что они похожи на UNIX и должны соответствовать стандарту POSIX . Вот почему вы будете чувствовать себя знакомым на обеих ОС.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .