- Как сменить оболочку (shell) в Linux
- Как узнать оболочку какая оболочка по умолчанию?
- Как узнать, какая оболочку используется сейчас?
- Как просмотреть все оболочки, доступные в системе?
- Как сменить оболочку?
- Как навсегда изменить оболочку по умолчанию в Linux?
- Как определить и изменить командную оболочку (shell) в Linux
- Оболочки Linux
- Как определить текущую командую оболочку
- Способ 1
- Способ 2
- Способ 3
- Как посмотреть список оболочек, доступных в системе
- Как временно переключиться на другую оболочку
- Как изменить оболочку
- Заключение
- Переключение между консолями Linux
- Что такое TTY консоли?
- Переключение между TTY консолями
Как сменить оболочку (shell) в Linux
Возможно, вы уже знаете, что в Linux и других Unix-подобных системах доступно несколько оболочек. Bash является оболочкой по умолчанию почти во всех дистрибутивах Linux, но есть и другие популярные оболочки, такие как:
Некоторые из оболочек предоставляют дополнительные функции для удобства пользователе. Возьмем, к примеру, оболочку Fish. Онf частично начинает показывать вам подсказки команд, основанные на вашей предыдущей набранной команде. Это очень удобно, если вы не хотите постоянно помнить ярлыки на терминале Linux.
Давайте посмотрим некоторые моменты оболочки системы Linux.
Как узнать оболочку какая оболочка по умолчанию?
Чтобы узнать, какая оболочка по умолчанию установлена в конкретной системе, проверим переменную среды SHELL. Обычно оболочкой по умолчанию является bash, и она отображается так:
Как узнать, какая оболочку используется сейчас?
Не существует единого метода, который бы сообщал вам, какая оболочка используется в данный момент со 100%-ой точностью. Но можно попробовать либо echo $0, который показывает вывод, подобный этому:
либо проверить процесс, используя ps -p $$ следующим образом:
$ ps -p $$ PID TTY TIME CMD 9625 pts/0 00:00:00 zsh
Как просмотреть все оболочки, доступные в системе?
Все оболочки, доступные в конкретной системе, перечислены в файле /etc/shells. Можно использовать команды cat или less для просмотра содержимого файла.
# /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash /usr/bin/tmux /usr/bin/fish /bin/zsh /usr/bin/zsh
Как сменить оболочку?
Если вы хотите использовать другую оболочку, вы можете просто ввести ее имя и войти в новую оболочку. Например, если вы хотите использовать Z Shell (zsh), вы можете использовать:
Чтобы выйти из новой оболочки и вернуться к предыдущей достаточно выполнить команду exit .
Как навсегда изменить оболочку по умолчанию в Linux?
Предположим, нам очень понравилась оболочка Fish, и мы хотим использовать ее в качестве оболочки по умолчанию, вместо оболочки bash которая поставляется по умолчанию.
Linux позволяет изменить оболочку по умолчанию с помощью команды chsh . Лучший способ изменить оболочку по умолчанию для вошедшего в систему пользователя — сменить имя оболочки, указанное в файле /etc/shells, с помощью опции -s.
Для того, чтобы изменения вступили в силу необходимо выйти из системы, иначе создастся ощущение, что запуск chsh не изменил оболочку.
Необходимо указывать полный путь к файлу /etc/shells? Если использовать chsh -s fish , то получим ошибку типа chsh: fish не является допустимой оболочкой .
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International
Как определить и изменить командную оболочку (shell) в Linux
Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.
Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.
Оболочки Linux
Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.
Существуют разные оболочки Linux. Можно отметить:
Оболочки могут очень сильно отличаться друг от друга. Они отличаются функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.
Как определить текущую командую оболочку
Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.
Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.
Способ 1
Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:
Из вывода команды, мы видим, что используется оболочка bash.
Способ 2
Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.
Способ 3
Определим, работающий процесс оболочки командой ps.
ps -p $$ PID TTY TIME CMD 10792 pts/3 00:00:00 bash
Как посмотреть список оболочек, доступных в системе
Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells
Выведем содержимое файла /etc/shells , для этого выполняем команду:
cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash
Как временно переключиться на другую оболочку
Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.
Например, переключимся на оболочку sh. Выполняем команду:
Как изменить оболочку
Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).
Чтобы изменить оболочку текущего пользователя нужно выполнить команду:
В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).
Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):
После этого нужно выйти и снова войти в систему.
Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:
Заключение
Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.
Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:
Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду
Переключение между консолями Linux
В Linux по умолчанию доступно целых двенадцать так называемых TTY консолей, которые можно использовать для выполнения команд, восстановления системы, запуска Wine или дополнительного X сервера, а также для многого другого.
Сегодня мы разберемся что это за консоли, где они взялись и как выполняется переключение между консолями Linux.
Что такое TTY консоли?
Аббревиатура TTY означает Teletype или телетайп. Чтобы понять откуда это всё взялось, надо немного оглянуться назад, а именно в 1830 год. Тогда были разработаны специальные машины, под названием телетайп, который позволяли отправлять набранные на клавиатуре сообщения в удалённые места. Это был большой шаг для телеграфии, потому что раньше для этих целей использовалась азбука морзе. Сообщения кодировались, передавались, а затем декодировались и печатались на бумаге. Тогда была запатентована специальная система кодирования, которая опередила ASCII на 89 лет. В машинах, использующих эту систему было всего пять клавиш и оператору приходилось запоминать различные сочетания для каждой буквы.
Когда в 1963 году появилась кодировка ASCI, производители телетайпов начали её использовать. После изобретения телефона телетайп стал применяться ещё шире, потому что появилась возможность объединить много машин в одну сеть. Затем из этого всего получился факс в 1980 году.
Компьютеры тоже развивались. Изначально, инструкции туда вводились с помощью специальных перфорированных карточек, однако это было очень долго и неудобно. Всем было нужно устройство, которое позволяло бы вводить инструкции и сразу же получать результат. Телетайп был идеальным кандидатом на место такого устройства ввода/вывода. Здесь было всё. Устройство было разработано для ввода текста, его кодирования, декодирования и отображения. Только теперь на другой стороне должен быть не ещё один телетайп, а компьютер.
Телетайпы начали использовать для управления компьютерами и мейнфреймами. Со временем их вытеснили аппаратные эмуляторы телетайпов, которые уже использовали не бумагу для вывода данных, а электронно-лучевую трубку. Такие устройства давали намного больше возможностей, таких как перемещение курсора по экрану, очистка экрана, редактирование текста и многое другое. Одним из таких виртуальных телетайпов был DEC VT05.
В современных системах, основанных на ядре Linux и других Unix подобных системах, все терминалы представляют из себя виртуальный телетайп. Только теперь телетайп эмулируется программно. Такие терминалы называются псевдо телетайпами (pseudo-teletypes) или PTS.
В Linux есть мультиплексор псевдотерминалов, который обрабатывает подключения ко всем таким PTS. Этот мультиплексор находится в ядре и доступен через файл /dev/ptmx. Каждая из двенадцати консолей, открытых по умолчанию в Linux — это псевдо телетайп устройство, подключённое к этому мультиплексору.
Переключение между TTY консолями
У каждой консоли есть своя горячая клавиша. Это Ctrl+Alt+Fn, где n — это номер консоли от 1 до 12 -ти. Таким образом, чтобы открыть первую консоль следует ввести Ctrl+Alt+F1, вторую — Ctrl+Alt+F2, двенадцатую — Ctrl+Alt+F12 и так далее. Например, откройте третью консоль и авторизуйтесь в ней, затем посмотрите номер псевдотелетайпа:
Как видите, здесь номер устройства /dev/tty3. Аналогично можно открыть шестую, для этого нажмите Ctrl+Alt+F6:
Обычно первая консоль занята менеджером входа в систему, а вторая или седьмая X сервером. Все остальные вы можете использовать в своих целях. Теперь вы знаете что такое TTY консоли, почему они так называются, а также как между ними переключаться.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.