Добавить в корзинуПозвонить
Найти в Дзене

Как изменить командную оболочку Linux

Командная оболочка, она же интерпретатор командной строки – специальная программа, запускаемая при входе в систему и обеспечивающая для пользователя интерфейс командной строки. Самой распространенной и популярной командной оболочкой в Linux является bash, но существуют и другие оболочки. Начинающие пользователи редко задумываются над этим, до тех пор, пока не попадут в непонятную ситуацию. Сегодня за советом обратился молодой коллега, он решил потренироваться в настройке веб-сервера и взял для этих целей бесплатную виртуалку у Cloud.ru о котором мы недавно писали. Его «проблема» оказалась в том, что Linux там (а он установил Debian 12) какой-то непонятный, выглядит не так, стрелки не работают и вообще странно себя ведет. Он уже и систему переустановил, но ничего не помогает. Любой опытный администратор Linux сразу же распознает симптомы и спросит какая командная оболочка установлена для пользователя. Проверить это можно командной: echo $SHELL В нашем случае ожидаемо получили от

Как изменить командную оболочку Linux

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

Самой распространенной и популярной командной оболочкой в Linux является bash, но существуют и другие оболочки.

Начинающие пользователи редко задумываются над этим, до тех пор, пока не попадут в непонятную ситуацию.

Сегодня за советом обратился молодой коллега, он решил потренироваться в настройке веб-сервера и взял для этих целей бесплатную виртуалку у Cloud.ru о котором мы недавно писали.

Его «проблема» оказалась в том, что Linux там (а он установил Debian 12) какой-то непонятный, выглядит не так, стрелки не работают и вообще странно себя ведет. Он уже и систему переустановил, но ничего не помогает.

Любой опытный администратор Linux сразу же распознает симптомы и спросит какая командная оболочка установлена для пользователя. Проверить это можно командной:

echo $SHELL

В нашем случае ожидаемо получили ответ:

/bin/sh

В Debian и Ubuntu данный файл является символической ссылкой на dash – минималистическую оболочку Debian Almquist shell портированную Almquist shell (ash) из NetBSD. Она очень легковесна, но не может похвастаться функциональностью и не является полностью POSIX-совместимой.

Вполне понятно, что, оказавшись в непривычной командной среде мой коллега растерялся и не сразу понял в чем дело.

Но этому горю легко помочь и установить в качестве командного интерпретатора привычный bash или что угодно другое.

Прежде всего ознакомимся со списком доступных командных оболочек:

cat /etc/shells

В выводе вы получите что-то вроде:

/bin/sh

/bin/bash

/usr/bin/bash

/bin/rbash

/usr/bin/rbash

/bin/dash

/usr/bin/dash

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

Опытный пользователь заметит, что для многих оболочек присутствует два пути, ничего удивительного в этом нет, так как в современных системах каталог /bin является символической ссылкой на /usr/bin и обе записи ведут в одно и тоже место.

Чтобы изменить командную оболочку используйте команду:

chsh -s /bin/bash

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

chsh -s /bin/bash user1

В данном случае указанная оболочка будет установлена пользователю user1. Чтобы изменения вступили в силу нужно выйти и войти обратно в систему.