10 неизвестных вам фактов о терминале

0
1343
views

Перевод статьи «10 things you didn’t know about the terminal».

1. Почему по умолчанию строка терминала ограничена 80 символами?

Мы пользуемся мониторами с огромным числом доступных пикселей, но дефолтная ширина терминала все равно 80 символов. Ну почему же?

Этим мы обязаны IBM и их стандартизированным перфокартам, которые появились еще в 1920-х. В них было 80 столбцов.

2. Терминал — не то же самое, что оболочка или CLI

Терминал. Оболочка. Интерфейс командной строки (CLI). Все это — совершенно отдельные, разные вещи. Да, они очень связаны между собой, но все равно разные и делают разные вещи. Терминал это окно, в котором может размещаться оболочка, а также другие программы, использующие текстовый интерфейс. CLI это строчно-ориентированные текстовые интерфейсы; они бывают любых видов и форм. Например, интерфейс командной строки AWS. Если хотите узнать больше о разнице между всеми этими вещами, можете почитать ответы здесь.

3. Это буквально конец

Слово «terminal» происходит от латинского «terminus» и означает «конец, лимит, граница». И это не удивительно: с точки зрения мейнфрейма люди, работающие на компьютерных терминалах, определенно находятся в конце линии коммуникации.

4. То, чем вы пользуетесь, это не терминал

Если вы только не находитесь в музее, вы на самом деле не используете настоящий терминал. То, чем вы пользуетесь, это программа — эмулятор терминала.

5. Приручение зверя

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

6. Почему vi и YouTube используют клавиши j и l?

Если вы когда-нибудь пользовались редактором vi, вам, вероятно. было любопытно, почему для перемещения на строку вниз используется клавиша j. Также вам могло быть любопытно, почему при просмотре видео на YouTube можно прокрутить на 10 секунд вперед, нажав клавишу l.

Дело в том, что когда Билл Джой создал текстовый редактор vi, он пользовался терминалом ADM-3A, где стрелки были на клавишах hjkl. Естественно, что он использовал те же клавиши, ну а остальное уже история.

В общем, «виноват» терминал Билла Джоя, а точнее — раскладка его клавиатуры.

By No machine-readable author provided. StuartBrady assumed (based on copyright claims). — No machine-readable source provided. Own work assumed (based on copyright claims)., CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1048046

7. Одного терминала недостаточно!

Конечно, вы можете запускать несколько окон терминала или использовать вкладки (или что там сегодня модно). Но мы, старички, пользуемся терминальными мультиплексорами, например tmux (более предпочтительный вариант) или screen (но это если вы действительно человек в возрасте).

8. GPU

У вас есть GPU и вы не знаете, как согреть его кэш? Откажитесь от своего старого терминала и попробуйте один из терминалов с питанием от графического процессора. Лично я перешел с iTerm2 на alacritty и весьма доволен, но есть и другие варианты, например kitty. Переезд может занять день или около того, но дело того стоит, если вы проводите в терминале больше половины своего времени.

9. Терминал vs. tty

Помните, в п. 4 мы говорили, что на самом деле пользуемся не терминалами, а эмуляторами терминала? Я тогда еще не всю правду рассказал. Сейчас, когда вы уже стали практически экспертом по терминалам, познакомьтесь с tty. Само слово — сокращение от «teletypewriter». Узнать о нем больше можно здесь.

10. Терминал vs. stdin, stdout и stderr

Изучая работу с оболочкой и языки программирования, вы практически наверняка встречались с такими терминами как stdin (стандартный поток ввода) и stdout 9стандартный поток вывода). Оказывается, это просто файлы, закрепленные для каждого процесса (с хорошо известными файловыми дескрипторами), для взаимодействия с которыми вы используете ваш терминал! Узнать больше можно в статье Your terminal is not a terminal: An Introduction to Streams.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here