Меню

Как настроить shell ubuntu

Что такое shell? Типы shell в Linux и Unix

Обновл. 18 Мар 2021 |

В этой статье мы разберемся, что такое shell и зачем это нужно, а также рассмотрим наиболее часто используемые командные оболочки в Linux и Unix.

Что такое shell?

Shell (или «шелл», «командная оболочка») — это не только командный интерпретатор, который обеспечивает интерфейс взаимодействия между пользователем и ядром операционной системы, но и своеобразный язык программирования, в котором присутствуют такие конструкции, как операторы условного ветвления, циклы, переменные и многое другое.

Операционная система (ОС) запускает командную оболочку для каждого пользователя, когда тот входит в систему или открывает окно терминала. Первым что пользователь увидит в окне терминала, будет приглашение оболочки — оно, как правило, состоит из имени пользователя и имени хоста, отделенные друг от друга символом @ , следом за ними идет путь текущей рабочей директории и один из двух символов: $ или # .

Если пользователь не наделен особыми правами, то в качестве приглашения к вводу команд в терминале будет отображаться символ $ . Если же был выполнен вход под учетной записью привилегированного (root) пользователя, то в терминале вы увидите символ # :

Окно терминала обычного пользователя (виден символ $)

Окно терминала привилегированного (root) пользователя (виден символ #)

Примечание: Знак тильды (

) указывает на то, что мы находимся в домашнем каталоге текущего пользователя.

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

Ниже представлен пример выполнения простой команды date , возвращающей текущую дату и время:

Внутренние и внешние команды оболочки

Вводимые пользователем команды делятся на два типа:

Внутренние — это команды, изначально встроенные в оболочку.

Внешние — это команды, которые не встроены в оболочку. По своей сути они являются скорее небольшими отдельными программами, расположенными где-то в файловой системе (обычно, в каталогах /bin или /usr/bin).

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

Как вы можете видеть, команды dirs , pwd , cd и true — являются внутренними командами оболочки bash. А вот команды uname , id и whereis — являются внешними, т.к. они ссылаются на соответствующие файлы в каталоге /usr/bin.

Ознакомиться с полным списком внутренних команд оболочки можно при помощи команды help :

Как узнать какая оболочка у меня установлена?

Если вы только начинаете свое знакомство с Linux и не меняли оболочку, то наиболее вероятно, что в вашей системе используется bash. Самый простой способ узнать, какая оболочка используется в данный момент — это обратиться к переменной окружения SHELL :

Кроме того, можно задействовать команду ps –p $$ , возвращающую информацию о процессе с заданным идентификатором. В нашем случае, идентификатором оболочки являются символы $$ :

Не трудно заметить, что в настоящее время используется оболочка bash. Для просмотра всех доступных оболочек в вашей системе, необходимо обратиться к содержимому файла /etc/shells:

Типы командных оболочек

В *nix-системах существует два основных типа оболочек: оболочки на основе Bourne shell и оболочки на основе C shell.

Типичными представителями оболочек типа Bourne shell являются:

sh (Bourne shell)

bash (Bourne Again shell)

К оболочкам типа C Shell относятся:

Читайте также:  Retroarch как настроить кнопки

tcsh (TENEX/TOPS C shell)

Ниже представлены некоторые из самых распространенных шеллов, используемых в *nix-системах:

Примечание: Термин «*nix-системы» обозначает Unix-подобные операционные системы.

sh (Bourne shell)

sh (сокр. от «Bourne shell») — это самая старая (среди рассматриваемых) оболочка, написанная Стивеном Борном из AT&T Bell Labs для ОС UNIX v7. Оболочка доступна практически в любом *nix-дистрибутиве. Многие другие шеллы уходят своими корнями именно к sh. Благодаря своей скорости работы и компактности, данная оболочка является предпочтительным средством для написания shell-скриптов. К её недостаткам можно отнести отсутствие функций для использования оболочки в интерактивном режиме, а также отсутствие встроенной обработки арифметических и логических выражений.

Примечание: Стоит отметить, что из-за общего морального устаревания оболочки, в современных системах ссылка на шелл sh (/bin/sh), обычно, является псевдонимом для запуска текущей, более новой оболочки.

Характерные черты sh:

Полные пути к интерпретатору: /bin/sh и /sbin/sh.

Приглашение для обычного пользователя: $ .

Приглашение для суперпользователя (root): # .

bash (Bourne-Again shell)

bash (сокр. от «Bourne–Again shell») — это усовершенствованный и дополненный вариант шелла sh, является одной из самых популярных современных командных оболочек *nix-систем.

Объединяет в себе полезные фишки оболочек ksh и csh.

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

Характерные черты bash:

Полный путь к интерпретатору: /bin/bash.

Приглашение для обычного пользователя: имя_пользователя@имя_хоста:

— это домашний каталог текущего пользователя, например, mrsmith@mypc:

Приглашение для суперпользователя (root): root@имя_хоста:

ksh (Korn shell)

ksh (сокр. от «Korn shell») — это командная оболочка, разработанная Дэвидом Корном из AT&T Bell Labs в 1980-x годах.

Является расширением sh.

Имеет обратную совместимость с sh.

Имеет интерактивный функционал, сравнимый с csh.

Включает в себя удобные для программирования функции, такие как: встроенную поддержку арифметических выражений/функций, Си-подобный синтаксис скриптов и средства для работы со строками.

Работает быстрее, чем csh.

Может запускать скрипты, написанные для sh.

Характерные черты ksh:

Полный путь к интерпретатору: /bin/ksh.

Приглашение для обычного пользователя: $ .

Приглашение для суперпользователя (root): # .

csh (C shell)

csh (сокр. от «C shell») — это командная оболочка, созданная Биллом Джоем (автором редактора vi) с целью усовершенствования стандартного шелла Unix (sh).

Имеет встроенные функции для интерактивного использования, например, псевдонимы (aliases) и историю команд.

Включает в себя удобные для программирования функции, такие как: встроенную поддержку арифметических выражений и Cи-подобный синтаксис скриптов.

Характерные черты csh:

Полный путь к интерпретатору: /bin/csh.

Приглашение для обычного пользователя: % .

Приглашение для суперпользователя (root): # .

tcsh (TENEX C Shell)

tcsh (сокр. от «TENEX C shell») — это командная оболочка, созданная Кэном Гриром, которая позиционируется как улучшенная версия шелла csh.

Имеет полную совместимость csh.

Именно в данном шелле впервые появилась функция автодополнения команд и путей.

Удобна для интерактивной работы.

Поддерживает редактор командной строки в стиле vi или emacs.

Является стандартным шеллом во FreeBSD.

Характерные черты tcsh:

Полный путь к интерпретатору: /bin/tcsh.

Приглашение для обычного пользователя: имя_хоста:

Приглашение для суперпользователя (root): # .

zsh (Z Shell)

zsh (сокр. от «Z shell») — это командная оболочка, созданная Паулем Фалстадом во время его учебы в Принстонском университете, позиционируется как свободная современная sh-совместимая командная оболочка.

Читайте также:  Как настроить звук в телефоне тексет

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

Встроенная поддержка программируемого автодополнения команд, имен файлов и пр.

Поддержка проверки орфографии и опечаток.

Раздельная история команд для одновременной работы с несколькими запущенными шеллами.

Характерные черты zsh:

Полный путь к интерпретатору: /bin/zsh.

Приглашение для обычного пользователя: имя_хоста% .

Приглашение для суперпользователя (root): root@имя_хоста:

Резюмируем

Краткая сводная таблица для 6 вышерассмотренных командных оболочек:

Командная оболочка Путь Приглашение (обычный пользователь) Приглашение (root)
sh (Bourne Shell) /bin/sh и /sbin/sh $ #
bash (Bourne-Again Shell) /bin/bash имя_пользователя@имя_хоста:

$ имя_пользователя@имя_хоста:

# ksh (Korn Shell) /bin/ksh $ # csh (C Shell) /bin/csh % # tcsh (TENEX C Shell) /bin/tcsh имя_хоста:

> # zsh (Z Shell) /bin/zsh % #

Примечание: Помимо представленных выше оболочек, есть еще и такие оболочки, как:

mksh — оболочка, основной упор в которой сделан на написание скриптов;

dash — более легковесная в сравнении с bash оболочка, но из-за этого обладающая ограниченной функциональностью;

fish — «новая» оболочка, написанная в 2005 году, отличительной чертой которой является упор на комфорт использования и упрощение командного языка;

Поделиться в социальных сетях:

Источник



Делаем красивую среду Gnome shell

Вообщем-то сегодняшняя статья будет посвящена НОВИЧКАМ. Людям, которые первый раз (или не первый) познакомились с такой замечательной ОС, как Linux Ubuntu 12.04. Я в принципе давно знаком с Ubuntu, и с версии 11.10 перешёл на графическую оболочку Gnome 3 (решительно отказавшись от Unity) В этой статье я расскажу, как я настраиваю систему и делаю её крайне привлекательной и приятной для глаз.

Итак по стандарту, когда вы установили Ubuntu 12.04 (скачать её можно ЗДЕСЬ) у вас предустановлено 2 графических интерфейса (Unity и Unity 2D). Но для создания рабочей среды, что на скриншоте нам нужна оболочка Gnome Shell. Поэтому открываем терминал, и используя copy/paste делаем всё по порядку.

Ставим Gnome Tweak Tool — данная утилита понадобится нам для настройки shell.

Сразу же заходим в Gnome Tweak Tools (дополнительные параметры системы). И переходим во вкладку «Shell». И здесь добавляем кнопки (свернуть, развернуть) к нашим окнам. Я пользуюсь только кнопками «Свернуть» и «Закрыть». Делается всё вот так:

Топаем дальше. Практически вся среда Shell становится красивой после того, как добавляешь в неё различные расширения, написанные всякими энтузиастами (в хорошем смысле слова). Поэтому делаем возможным устанавливать эти расширения:

Теперь переходим к внешнему виду. Я использую тему, под названием «Helios», скачать её можно отсюда:

Скачиваем zip архив справа вверху (смотрим изображение):

Теперь перейдём непосредственно к установке темы. Чтобы иметь возможность менять темы, нужно установить соответствующее расширение. Можно это сделать через терминал, но Linux настолько становится проще, что всё делается за пару минут без всяких усилий.

Заходим на САЙТ ЕДИНОЙ БАЗЫ РАСШИРЕНИЙ: https://extensions.gnome.org/

В поиск вбиваем «User Themes». Переходим на страницу нужного расширения и меняем положение выключателя, тем самым устанавливая расширение. Здорово, не правда ли?!

Далее нажимаем Alt + F2 , вводим в строку букву «r», нажимаем Enter. Это используется для быстрого перезапуска графического интерфейса.

Теперь запускаем ранее установленный Gnome Tweak Tools (или же дополнительные параметры системы), переходим во вкладку «Расширения Shell» и активируем наше расширение.

Включили? Нажимаем снова Alt + F2 , вводим в строку «r». Перезапустили графику и снова заходим в дополнительные параметры, теперь на вкладку «Тема». Ну и соответственно здесь меняем тему. Сначала загружаем ранее скачанный нами zip архив, а потом справа выбираем Helios.

Поговорим ещё о расширениях. На https://extensions.gnome.org/ можно добавить различного рода расширения, которые облегчат работу в использовании ОС и просто будут радовать глаз. Ниже приведен список расширений, которые использую я:

Все эти расширения вы легко сможете найти на единой базе расширений, и установить их также легко, как и расширение «User Themes». А вот о следующем расширении хотелось бы поговорить отдельно. В частности о процессе его установки, потому что данного расширения нет на сайте.

Настраивается индикатор вот так: Сначала переходим на сайт http://www.weather.com/. Здесь справа Латинскими буквами вводим свой город. Получаем ссылку вверху, где копируем несколько букв и цифр. В моём случае это: «RSXX1460″. Затем заходим в настройки: И вставляем наше скопированное значение (Zip/Codeвашего города).

Всё! Теперь мы имеем потрясающую погоду.

Закончим о расширениях, теперь можно приступать к оформлению значков (иконок). На самом деле мне нравится 7 видов значков и время от времени я их меняю, когда какой-нибудь надоедает. Но по приоритету красоты я расставил их так:

1) Значки «Mac-x-reloaded».

2) Значки «Elementary».

3) Значки «Faenza».

4) Значки «Faince».

5) Значки «Awoken».

6) Значки «FS Icons».

7) Значки «Fast Forward».

Лично у меня стоят на данный момент «Mac-x». На скриншоте изображены именно они. Устанавливаются так:

Снова перезагружаем графическую среду при помощи Alt+F2. И заходим в наш родной Gnome Tweak Tools. Во вкладке тема ставим наши иконки. Также ниже описаны команды для установки других видов значков.

Для «Elementary» выполняем такие команды:

Для значков «Faince»:

Для значков «Awoken»:

Для значков «FS Icons»:

Для значков «Fast Forward»:

Иконки установлены, и выбраны какие надо. Далее по плану тема GTK+. Родные темы очень даже не плохие, можно выбрать одну из них, однако я копался как-то экспериментировал и остановился на теме «orion». Устанавливается так:

Ну и соответственно выбираем её во вкладке «Тема» дополнительных параметров.

Теперь разбираемся со шрифтами. Делаем всё как на картинке. У меня монитор 15.6 дюймов, поэтому я не использую большие шрифты, большая часть десятого размера. Естественно, если у вас больше монитор можете ставить и 11, и даже 13 размер. Вообщем всё по вашему вкусу.

Вы, наверное обратили на скриншоте внизу красивая панель приложений в стиле MacOS. Такую красоту позволяет сделать приложение: Cairo-Dock. Для его установки в терминале необходимо набрать:

О настройках данного приложения говорить смысла нет. Там их просто масса. Сами ставите что хотите, что не нужно удаляете. Всё делается, как обычно, методом тыка. Самое главное, когда всё настроите, сделайте так, чтобы Cairo-dock запускалось при старте системы.

Ну и последнее. Если вы не будете никогда использовать графическую оболочку Unity или Unity 2D, то её можно удалить, дабы она не занимала место и менеджер обновлений не вылазил так часто, чтобы обновлять её. Вводим команды:

Напоследок, если кому-то интересно, то обоину для рабочего стола я скачал отсюда: http://rewalls.com/natural/45594-kamni-more-skaly-voda.html

Спасибо за внимание и удачи в настройке вашей ОС!

Источник