Командная оболочка linux установка

Установка ZSH в качестве основной оболочки для терминала Linux

Понял, что на канале практически не раскрыта тема оболочек терминала. Помнится, что лишь единожды в одной заметке коснулся темы оболочек, но как-то вскользь. К тому же один из подписчиков попросил рассказать про установку одной из оболочек. Это значит, что пора выпускать заметку и нечего тянуть. Сегодня поговорим про то, что такое оболочка и какие они бывают.

Что такое командная оболочка (шелл, shell или sh)?

Если я напишу, что это командный интерпретатор, то вряд ли станет понятнее. Потому попытаюсь объяснить своими словами в надежде, что общая суть окажется верной.

Представим себя, пользователя. Перед нами некий дистрибутив Linux, с которым мы можем взаимодействовать разными способами — при помощи графического интерфейса и при помощи терминала. То есть терминал можно представить как телефон, который использует пользователь для того, чтобы передать некую информацию системе. Но мы с системой разговариваем на разных языках и нужен способ перевести то, что мы от нее желаем в понятный ей формат. Эти и занимается командная оболочка — она интерпретирует (то есть, понимает) что ей сообщает пользователь при вводе определенных команд и передает эти команды системы в понятной ей форме.

Читайте также:  Linux write file to socket

Оригинальный шелл Борна и его разновидности BASH и ZSH

Командных оболочек для Unix-систем множество. Одной из первых появилась оболочка, созданная Стивеном Борном, которая и получила его имя. После начали появляться аналоги, основанные на шелле Борна, различающиеся своим функционалом. Оболочка BASH является стандартной для дистрибутивом Linux. Именно она предстает перед пользователем при запуске терминала после установки дистрибутива или при подключении к серверу по SSH.

Оболочка про которую мы будем говорить сегодня называется ZSH (Z Shell), которая заменяет BASH и расширяет возможности командной оболочки. Что есть в ZSH и чего нет в BASH?

  • удобное автодополнение вводимых команд (удобнее чем в BASH, имею в виду)
  • изменяемые горячие клавиши
  • использование в качестве алиасов не только команд, но и например расширений файлов, что превращает ZSH в терминальный файловый менеджер
  • существование плагина для подсветки синтаксиса
  • возможность быстрой распаковки/запаковки файлов в архив
  • поддержка большого количества тем и плагинов

Установка ZSH

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

Источник

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

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

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

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

Оболочки Linux

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

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

Читайте также:  Util linux arch linux

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

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

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

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

Способ 1

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

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

Способ 2

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

Способ 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 (см. выше).

Читайте также:  Linux узнать свой локальный ip адрес

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

После этого нужно выйти и снова войти в систему.

Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:

Заключение

Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.

Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:

Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду

Источник

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