- Как сменить оболочку (shell) в Linux
- Как узнать оболочку какая оболочка по умолчанию?
- Как узнать, какая оболочку используется сейчас?
- Как просмотреть все оболочки, доступные в системе?
- Как сменить оболочку?
- Как навсегда изменить оболочку по умолчанию в Linux?
- 3 способа изменить оболочку пользователя по умолчанию в Linux
- 1. Утилита usermod
- 2. Утилита chsh
- 3. Измените оболочку пользователя в файле /etc/passwd.
- Как определить и изменить командную оболочку (shell) в Linux
- Оболочки Linux
- Как определить текущую командую оболочку
- Способ 1
- Способ 2
- Способ 3
- Как посмотреть список оболочек, доступных в системе
- Как временно переключиться на другую оболочку
- Как изменить оболочку
- Заключение
- Смена командной оболочки (shell) в Linux
- Оболочки Linux
- Как определить текущую командую оболочку
- Как посмотреть список оболочек, доступных в системе
- Как временно переключиться на другую оболочку
- Как изменить оболочку на постоянной основе
Как сменить оболочку (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
3 способа изменить оболочку пользователя по умолчанию в Linux
В этой статье мы расскажем, как изменить оболочку пользователя в Linux. Оболочка — это программа, которая принимает и интерпретирует команды; есть несколько оболочек, таких как bash, sh, ksh, zsh, fish и многие другие менее известные оболочки, доступные в Linux.
Bash (/bin/bash) — это популярная оболочка в большинстве, если не во всех системах Linux, и обычно она используется по умолчанию для учетных записей пользователей.
Существует несколько причин для изменения пользовательской оболочки в Linux, включая следующие:
- Чтобы заблокировать или отключить обычный вход пользователей в Linux с помощью оболочки nologin.
- Используйте сценарий или программу-оболочку оболочки для входа в пользовательские команды перед их отправкой в оболочку для выполнения. Здесь вы указываете оболочку оболочки в качестве оболочки входа пользователя.
- Для удовлетворения требований пользователя (желающего использовать определенную оболочку), особенно с правами администратора.
При создании учетных записей пользователей с помощью утилит useradd или adduser можно использовать флаг —shell для указания имени оболочки входа пользователя, отличного от указанного в соответствующих файлах конфигурации.
Доступ к оболочке входа можно получить из текстового интерфейса или через SSH с удаленного компьютера Linux. Однако, если вы входите в систему через графический интерфейс пользователя (GUI), вы можете получить доступ к оболочке из эмуляторов терминала, таких как xterm, konsole и многих других.
Давайте сначала перечислим все доступные оболочки в вашей системе Linux, введите.
# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh /bin/dash
Прежде чем продолжить, обратите внимание, что:
- Пользователь может изменить свою оболочку на любую вещь, которая, однако, должна быть указана в файле /etc/shells.
- Только root может запускать оболочку, не указанную в файле /etc/shells.
- Если учетная запись имеет ограниченную оболочку входа, только root может изменить оболочку этого пользователя.
Теперь давайте обсудим три разных способа изменить пользовательскую оболочку Linux.
1. Утилита usermod
usermod — это утилита для изменения данных учетной записи пользователя, хранящихся в файле /etc/passwd, а параметр -s или —shell используется для изменения оболочки входа пользователя.
В этом примере мы сначала проверим информацию об учетной записи пользователя tecmint, чтобы просмотреть его оболочку входа по умолчанию, а затем изменим ее оболочку входа с /bin/sh на /bin/bash как следует.
# grep tecmint /etc/passwd # usermod --shell /bin/bash tecmint # grep tecmint /etc/passwd
2. Утилита chsh
chsh — это утилита командной строки для изменения оболочки входа в систему с помощью параметра -s или -shell, подобного этому.
# grep tecmint /etc/passwd # chsh --shell /bin/sh tecmint # grep tecmint /etc/passwd
Два приведенных выше метода изменяют оболочку, указанную в файле /etc/passwd, который вы можете редактировать вручную, как в третьем методе ниже.
3. Измените оболочку пользователя в файле /etc/passwd.
В этом методе просто откройте файл /etc/passwd с помощью любого из ваших любимых текстовых редакторов командной строки и измените оболочку конкретного пользователя.
Когда закончите редактирование, сохраните и закройте файл.
Не забудьте прочитать эти связанные темы:
- Знакомство с файлами инициализации оболочки и профилями пользователей в Linux
- Понимание Linux Shell и советов по написанию сценариев Basic Shell — часть I
- Как писать и использовать собственные функции и библиотеки оболочки
- Знакомство с различными классификациями команд оболочки и их использованием
В этой статье мы описали различные способы смены оболочки пользователя в Linux. Чтобы поделиться с нами своими мыслями, используйте раздел комментариев ниже.
Как определить и изменить командную оболочку (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, выполните команду
Смена командной оболочки (shell) в Linux
Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.
При работе в терминале именно командная оболочка обрабатывает вводимые команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.
Оболочки Linux
Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.
Существуют разные оболочки Linux:
Все оболочки отличаться друг от друга функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.
Как определить текущую командую оболочку
Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.
Можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.
Определим, работающий процесс оболочки командой ps :
grep ваш_пользователь /etc/passwd
Как посмотреть список оболочек, доступных в системе
Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells
Выведем содержимое файла /etc/shells , для этого воспользуемся командой cat :
/bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash /usr/bin/dash /bin/zsh /usr/bin/zsh /usr/bin/fish
Вы можете найти полный путь к своей оболочке, используя следующую команду:
type -a bash type -a zsh type -a ksh
Как временно переключиться на другую оболочку
Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.
Например, переключимся на оболочку sh . Выполняем команду:
Как изменить оболочку на постоянной основе
Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell ).
Чтобы изменить оболочку текущего пользователя:
chsh -s путь_до_новой_оболочки chsh -s chsh -s chsh -s /bin/bash chsh -s /bin/bash vanay
Например, изменим оболочку на sh . Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):
Затем нужно перелогинится:
su - $USER su - [имя пользователя]