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

How to Find Which Shell You Are Using on Linux

Here are four simple commands to find out which shell are you using in Linux.

Which Shell am I using in Linux? Is that even a question? Of course, it is. There are several shell available for Linux systems. Some of the most popular ones are:

You may wonder this in a few situations.

For example, if you log into a Linux system not known to you, you may wonder which shell is being used by default. If you frequently change shell in Linux, you might wonder which shell you are using at the moment.

Let me show you various Linux commands to find out which shell you are using.

Find out which shell you are using in Linux

Now there is no command that will give you this output with 100% accuracy for all the shells. But these commands should be accurate for most of the shells.

Method 1

You can use the special shell parameter $$. “$$” indicates the process id of the current instance of the shell you are running. This is a read-only parameter and cannot be modified.

If you try to see the process information, it should show you the process name i.e. the shell here.

The output should be like this:

PID TTY TIME CMD 15012 pts/0 00:00:00 zsh

Method 2

You can also use $0. $0 can be the name of the shell or the name of shell script. When it is used inside a shell script, it denotes the name of the script.

But if you use it in a shell without filename, it will show the name of the shell.

The output will simply have the name of the shell:

Method 3

You can also use the pstree command. pstree means process tree and it shows all the running processes as a tree.

If you provide it with no argument, it will show all the processes from init or systemd.

Читайте также:  Структура операционной системы линукс

However, if you give it a process id, it will show all that processes as the root of the tree. In other words, it will show all the processes initiated by that process.

You can use the same $$ bash parameter we saw in method 1.

Method 4

The last method is using the files in proc directory. If you read the article about checking CPU info in Linux, you probably already know that this directory contains the runtime system information about your Linux system.

You can use the following command to get the shell you are using:

The output should give you the name of the shell.

Bonus Tip: Know the version of the shell

So you learned how to know which shell you are using. What about the version of the shell you are using? You can get the version of the shell simply by adding –version after the name of your running shell.

For example, if you are running zsh, you can use this:

The output will give you the version information:

zsh 5.4.2 (x86_64-ubuntu-linux-gnu)

I hope this quick tutorial helped you in finding out which shell you are running. Don’t forget to check out another simple tip on changing shell in Linux.

By the way, do you use some other way to check which shell you are using? Why not share it with us in the comment section?

Источник

Как определить и изменить командную оболочку (shell) в Linux

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

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

Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.

Оболочки Linux

Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.

Существуют разные оболочки Linux. Можно отметить:

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

Как определить текущую командую оболочку

Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.

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

Способ 1

Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:

Из вывода команды, мы видим, что используется оболочка bash.

Способ 2

Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.

Читайте также:  Linux reboot to grub

Способ 3

Определим, работающий процесс оболочки командой ps.

ps -p $$ PID TTY TIME CMD 10792 pts/3 00:00:00 bash

Определить текущую оболочку Shell в Linux

Как посмотреть список оболочек, доступных в системе

Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells

Выведем содержимое файла /etc/shells , для этого выполняем команду:

cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash

Список командных оболочек Linux

Как временно переключиться на другую оболочку

Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.

Например, переключимся на оболочку sh. Выполняем команду:

Переключиться на другую оболочку в Linux

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

Для изменения командной оболочки на постоянной основе служит команда 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 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.

Читайте также:  Adaptec raid utility linux

Определим, работающий процесс оболочки командой 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 - [имя пользователя]

Источник

Как узнать, какая оболочка используется в Linux

Существует несколько оболочек Linux, каждая из которых имеет свои особенности. Примеры популярных оболочек: Bash (является оболочкой по умолчанию на множестве дистрибутивов) и ZSH (по умолчанию является оболочкой на Kali Linux, имеет много поклонников).

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

Посмотрите, что именно будет выведено:

  • /bin/bash — значит у вас Bash
  • /usr/bin/zsh — значит у вас ZSH

Как узнать, какая в действительности используется оболочка Linux

Но действительно ли всё так просто с оболочками?

Посмотрите на следующий скриншот и попробуйте угадать, какая оболочка будет обрабатывать последующие команды?

На скриншоте чётко видно, что команда вывела «/usr/bin/zsh», поэтому можно сказать, что используется оболочка ZSH.

Но это неправильный ответ.

Да, оболочкой по умолчанию в этой системе является ZSH, но чуть выше выполнена команда

и даже хотя оформление или приглашение командной строки не поменялось, теперь введённые команды обрабатывает Bash.

Это легко доказать, если выполнить команду

то Bash покажет краткую справку по своим командам. А ZSH выведет сообщение, что команда не найдена:

Что же на самом деле показывает переменная $SHELL? Видимо, это просто оболочка, используемая по умолчанию в данной системе, без учёта того, что пользователь мог запустить другую оболочку. Тем не менее вывод значение переменный $SHELL в большинстве случаев ответит на вопрос, какая оболочка используется на этой системе.

Чтобы убедиться, что используется Bash, можно выполнить команду:

Ещё один способ «узнать» Bash, это посмотреть на реакцию последовательного нажатия сочетания клавиш Ctrl+x Ctrl+v. В ответ на это Bash выведет примерно следующую строку:

GNU bash, версия 5.1.4(1)-release (x86_64-pc-linux-gnu)

Источник

Оцените статью
Adblock
detector