Эволюция командных оболочек Linux. Оболочки linux


Графические оболочки Linux

LXDE

LXDE (Lightweight X11 Desktop Environment) - это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как Linux или BSD.LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и лёгкий рабочий стол, основанный на взаимно независимых компонентах.

Unity

Unity — свободная оболочка для среды рабочего стола GNOME, разрабатываемая компанией Canonical для операционной системы Ubuntu. Она позволяет более эффективно использовать маленькие экраны нетбуков, благодаря, например, вертикальной панели для переключения между запущенными программами. Изначально, в качестве оконного менеджера использовался Metacity, который затем был заменён на Compiz, в настоящее время используется Mutter. Начиная с Ubuntu 11.04, Canonical заменил стандартную оболочку GNOME на Unity. Все стандартные приложения по-прежнему были взяты из GNOME.Налюбовавшись красотами, можно ускорить Unity.

Gnome

Достоинства Gnome (GNU Network Object Model Environment):

  • Gnome официальный Рабочий Стол фирм IBM, HP, Sun
  • Gnome официальный Рабочий Стол в государственных учереждениях штата Висконсинг в США, Северная область Испании - Экстремадура, Китай.
  • Поддерживает 114 языков
  • Легок в использование, легок в изучении
  • Распространяется под лицензией GPL
  • Дополнительные опции для людей с ограничеными возможностями

Можно изменить параметры GTK и добиться ускорения работы Gnome, оптимизировав его.

Equinox Desktop Environment

Equinox Desktop Environment (EDE) — свободная среда рабочего стола для UNIX-подобных операционных систем, отличается своей компактностью, быстротой, лёгкостью и простотой.

IRIX Interactive Desktop

IRIX Interactive Desktop (изначально Indigo Magic) — среда рабочего стола по умолчанию на рабочих станциях Silicon Graphics с операционной системой IRIX. IRIX Interactive Desktop использует Motif поверх X Window System. По умолчанию оконным менеджером является 4Dwm.

OpenWindows

OpenWindows — оконная среда для рабочих станций Sun Microsystems, которая поддерживала протоколы SunView, NeWS и X Window System. OpenWindows включалась в поздние версии операционной системы SunOS и Solaris до тех пор, пока не была заменена на CDE и GNOME 2.0 в Solaris 9. Оконная среда OpenWindows отвечала спецификации OPEN LOOK.

Ambient desktop

Ambient — свободная среда рабочего стола предназначенная для операционной системы MorphOS. Создана при помощи MUI. Отличительной особенностью является простота, быстродействие и удобство работы.

ROX Desktop

ROX Desktop — свободная среда рабочего стола для UNIX-совместимых операционных систем, которая базируется на файловом менеджере ROX-Filer. Название ROX происходит от RISC OS на X Window System.

KDE

Достоинства KDE:

  • Прекрасный современный рабочий стол
  • Рабочий стол, полностью прозрачный для работы в сети
  • Интегрированная система помощи, обеспечивающая удобный и согласованный доступ к системе помощи по использованию рабочего стола KDE и его приложений
  • Единообразный внешний вид и управление во всех приложениях KDE
  • Стандартизованные меню и панели инструментов, комбинации клавиш, цветовые схемы и так далее
  • Интернационализация: в KDE поддерживается более 40 языков
  • Централизованное единообразное конфигурирование рабочего стола в диалоговом режиме
  • Большее количество полезных приложений для KDE

KDE очень хорошо конфигурируется и некоторые параметры заметно ускоряют KDE.

Fluxbox

Достоинства Fluxbox:

  • колесо мышки меняет Рабочие Столы (Workspace)
  • конфигурируемый TitleBar
  • IconBar (для свернутых окон)
  • поддержка KDE
  • свой интегрированный keygrabber
  • частичная поддержка GNOME
  • расширенная поддержка Window Manager Hints
  • конфигурируемые закладки Окон

Enlightenment

Enlightenment — оконный менеджер с открытым исходным кодом для X Window System. Название переводится как просветление и часто сокращается до одной буквы E.

Достоинства:

  • Небольшой размер и высокая производительность;
  • Развитая система оформления и тем;
  • Поддержка анимации для тем, элементов пользовательского интерфейса, пиктограмм, рабочих столов и курсоров;
  • Модульная структура, возможна динамическая загрузка внешних модулей для расширения функциональности;
  • Расширенная поддержка виртуальных рабочих столов.

xd640

XD640 простой графический рабочий стол для X-Window. Создан быть легким и быстрым для медленных компьютеров (i486 66MHz 16MB) и маленьких экранов (640x480).

Metacity

Достоинства Metacity:

  • Написан на GTK+ 2.x и отлично интегрирован с GNOME
  • поддержка тем

Amiwm

Достоинства AmiWM:

  • Для ценителей Amiga эмуляция работы в Amiga's Workbench
  • Поддержка множества экранов

XFce

XFce является графической оболочкой, построенной на основе инструментального пакета GTK+, используемого в Gnome, но гораздо легче и предназначен для тех, кому нужен простой, эффективно работающий стол, который легко использовать и настраивать. Вот некоторые из достоинств XFce:

  • Простой, легкий в обращении рабочий стол
  • Полностью настраиваемый при помощи мыши, с интерфейсом "drag and drop"
  • Главная панель похожа на CDE, с меню, апплетами и возможностями по быстрому запуску приложений
  • Интегрированный оконный менеджер, менеджер файлов, управление звуком, модуль совместимости с Gnome и прочее
  • Стандартизованные меню и панели инструментов, комбинации клавиш, цветовые схемы и так далее
  • Возможность использования тем (так как использует GTK+)
  • Быстрый, легкий и эффективный: идеален для устаревших/слабых машин или машин с ограниченной памятью

WindowMaker

Основные фишки:

  • Поддержка национальных языков через I18N
  • Все изменения применяются сразу без перезагрузки Оконного Менеджера
  • Встроенная графическая утилита конфигурирования настроек

Athene

По образу этого рабочего стола была разработана система управления MS Windows.Отличия:

  • Оптимизирован под процессоры Intel Pentium
  • Используется графическая технология SNAP от SciTech Software вместо X-Window
  • Графика быстрее на 17% чем MS Windows и на 25% быстрее X-Window
  • Обратная совместимость с X-Window приложениями
  • Быстрая загрузка - между 5 и 15 секундами на современном оборудовании
  • Редактируемый интерфейс, основанный на XML
  • Plug and Play Hardware Support
  • Локализация: полная поддержка Unicode
  • Гибкая независимая от ОС архитектура

Sawfish

Отличия:

  • Основан на скрипт-языке LISP
  • Темы и оформление используют GTK+

D3d

AfterStep

AfterStep - менеджер окон для X Window System, во время разработки которого была предусмотрена гибкость настройки рабочего стола, улучшенный внешний вид и эффективное использование системных ресурсов. Изначально AfterStep был вариантом FVWM, который воспроизводил графический интерфейс операционной системы NeXTSTEP, но с ходом разработки отдалился от своих корней. AfterStep включает в себя несколько модулей, таких как:Pager - визуальный инструмент для управления и перемещения между несколькими рабочими столамиWinList - простая панель задач, отображающая активные приложенияWharf - инструмент управления запуском приложений, панелью, содержащей наиболее часто используемые приложения и апплетами.

AfterStep поддерживает виртуальные экраны. Настройка внешнего вида производится при помощи набора текстовых файлов конфигурации.

fvwm, mwm, twm

F Virtual Window Manager — менеджер окон для X Window System с поддержкой виртуальных экранов. FVWM знаменит высоким качеством исходного кода, который разрабатывался и улучшался в течение многих лет, поэтому многие проекты основаны на нём, среди которых AfterStep, Xfce, Enlightenment и множество других.

XPde

XPde - проект, цель которого создание похожего внешне на Windows XP рабочего стола. XPde (XP Desktop Environment) - свободная среда рабочего стола, напоминающая по виду Windows XP. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. В состав входит оконный менеджер XPwm. По замыслу разработчиков, их оконный менеджер должен облегчить пользователям Windows переход на Linux. XPde написан на Kylix.

Metisse

Metisse это основанная на X оконная система, разработанная с двумя целями. Во-первых, она должна облегчить разработку и внедрение инновационных технологий управления окнами для исследователей HCI (HCI - интерфейс "человек-компьютер"). Во-вторых, она должна соответствовать существующим стандартам и быть достаточно эффективной для ежедневного использования, делая ее подходящей платформой для оценки предложенных технологий. Metisse не фокусируется на особенных видах взаимодействия (например 3D) и не должна рассматриваться как предложение нового рабочего стола. Это в большей степени инструмент для создания новых типов окружения рабочих столов.

IceWM

IceWM - менеджер окон для X Window System в Unix-подобных операционных системах. Разработка IceWM началась с нуля в 1997-ом году, проект написан целиком на C++ и выпущен на условиях лицензии GNU LGPL. Цель проекта - создание рабочей среды с удобным и быстрым интуитивным интерфейсом с широкими возможностями для настройки пользователем. В частности, все функции графического интерфейса доступны при использовании только клавиатуры. В то же время в число задач входила максимальная лёгкость IceWM в плане потребляемых ресурсов компьютера - памяти и процессора.

CDE

Common Desktop Environment (CDE) - проприетарная среда рабочего стола, основанная на Motif, для UNIX, HP OpenVMS. CDE разработана в The Open Group совместно с Hewlett-Packard, IBM, Novell и Sun Microsystems и основан на VUE (Visual User Environment) от HP. Примерно до 2000 года CDE была промышленным стандартом для UNIX систем, но свободные оболочки для рабочего стола, такие как KDE и GNOME, быстро становились всё более удобными и стали стандартом для многих Linux платформ, которые на этот период уже имели больше пользователей, чем большинство UNIX систем.

MATE

MATE — среда рабочего стола, форк Gnome 2, когда разработчики Гнома в третьей версии кардинально поменяли подход к построению среды Гном. Название MATE происходит от названия вида падуба, растения, из листьев которого готовят одноимённый напиток.

Cinnamon

Cinnamon (рус. Корица) — это среда рабочего стола, являющаяся ответвлением от кодовой базы GNOME Shell. Cinnamon - это попытка сделать Gnome 3 аля Gnome 2.

Возможности Корицы:

  • Всевозможные расширения.
  • Перемещаемая панель, оснащенная меню, ланчерами, списком окон и панелью задач.
  • Апплеты панели.
  • Эффекты рабочего стола, включая анимацию и трансформацию.
  • Функции, аналогичные GNOME Shell.
  • Редактор настроек с возможностью конфигурирования.

vasilisc.com

ualinux.com

Эволюция командных оболочек Linux | Losst

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

Содержание статьи:

Что такое командная оболочка Linux / Unix

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

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

Thompson Shell

Если верить истории и многим-интернет источникам, то самой первой оболочкой была Thompson Shell, написанная Кеном Томсоном в Bell Labs. Всего было 6 версий и распространялась она с 1971 по 1975 год. Поддерживались такие функции, как: перенаправление ввода / вывода и простые управляющие конструкции - if, goto. Эти функции поддерживают все современные командные оболочки в линукс.

PWB Shell

Оболочка PWB - это модификация оболочки Томсона разработанная Джоном Машеу. Она была написана для увеличения удобства Shell программирования. Появились такие интересные структуры, как if-then-else-endif, switch и циклы while.

Bourne Shell

Свой подъем Unix начал с оболочкой Борна. Она была написана Стефаном Борном в Bell Labs и использовалась как оболочка по умолчанию в Unix версии 7 от 1979 года. Здесь уже было реализовано большое количество возможностей доступных в современных оболочках - дополнение имен файлов, автодополнение команд, стандартные переменные окружения и встроенные управляющие структуры. Bourne Shell называлась sh и размещалась в файловой системе Unix по адресу /bin/sh.

Во многих системах программа оболочки Борна (sh) - это символическая или жесткая ссылка на одну из ее альтернатив:

  • Almquist shell (ash)
  • Bourne-Again shell (bash)
  • Korn shell (ksh)
  • Z shell (zsh)

Пример скрипта для Bourne Shell:

!/bin/shecho "Hello World 1!"echo "Hello World 2!"

Almquist shell (ash)

Almquist shell, еще известная как A Shell. Это легкая оболочка Unix первоначально написанная Кеннетом Альмквистом. Она была разработана в конце 1980х. Это модификация оболочки Борна и она заменила оригинал в BSD Unix выпущенной в 1990 году. Сейчас ее можно использовать в таких дистрибутивах, как Debian и Ubuntu в виде версии ash под названием dash (Debian Almquist shell) Также эта оболочка популярна на встраиваемых Unix дистрибутивах.

Это быстрая, компактная и совместимая со спецификациями стандарта POSTIX оболочка Unux, и может быть именно поэтому она часто используется на встраиваемых устройствах. Но ash не поддерживает истории команд. Хотя в современных версиях эта функция уже добавлена.

Bourne-Again Shell (Bash)

Написанная Браеном Фоксом в рамках проекта GNU как бесплатная и свободная замена для оболочки Борна. Bash -наиболее популярная и широко используемая из всех оболочек. Все дистрибутивы Linux поставляются по умолчанию с этой оболочкой. Она расширяет набор функций Bourne Shell. В большинстве систем Unix / Linux эта оболочка может быть найдена в файловой системе по адресу /bin/bash. Она была выпущена в 1989 году.

Благодаря такой популярности она была портирована на Windows и распространяется вместе с набором компиляторов Cygwin и MinGW. Также Bash используется в Android, для доступа к ней можно использовать различные эмуляторы терминала.

Здесь поддерживается автодополнение, перенаправление ввода / вывода, дополнение команд, переменные и управляющие структуры для принятия решения (if-then-elese if) и циклы (loop).

Bash скрипты начинаются с такой строки:

!/bin/bash

Эта командная оболочка linux также поддерживает чтение команд из файла и перенаправление вывода в файл или другую команду.

Пример кода на Bash:

!/bin/shif [ $days -gt 365 ]thenecho This is over a year.fi

Korn shell (ksh)

Написана Девидом Кроном и основана на исходниках оболочки Борна. KornShell (ksh) это оболочка, разработанная в Bell Labs еще в 1980. Она имеет обратную совместимость с Bourne Shell, а также включает многие черты оболочки С.

Есть следующие версии и модификации:

  • Dtksh
  • Tksh
  • Oksh
  • Mksh
  • Sksh
  • MKS Korn shell

Пример скрипта:

!/bin/kshprint Disk space usagedu -kexit 0

Z shell (zsh)

Пол Фальстад написал первую версию командой оболочки zsh в 1990 году. Это командная оболочка Linux, которая может быть использована как интерактивная оболочка входа в систему, очень мощный интерпретатор команд. На самом деле Zsh это расширенная оболочка Борна с большим количеством улучшений, которая включает некоторые функции из Bash, KSH и Tcsh.

Имя Zsh происходит от имени Йельского профессора Чжун Шао (Zhong Shao) так как Пол был студентом Принстонского университета.

Поддерживаются такие интересные функции:

  • Автозавершение строк
  • Совместная история команд для всех сеансов оболочки
  • Улучшена работа с переменными и массивами
  • Редактирование нескольких строк в одном буфере
  • Коррекция орфографии и много другое.

C shell

Оболочка C также известна как Csh. Ее разработал Бил Джой когда был студентом Калифорнийского университета. Эта оболочка очень распространена в системах BSD Linux. Здесь есть много интересных особенностей, в том числе контрольные структуры и грамматические выражения. Эта оболочка также впервые представила большое количество интересных функций, таких как история и механизмы редактирования, псевдонимы, CDPATH, управление задачами и хеширование, перенаправление вывода, присоединение, замена переменных, выполнение в фоне и т д.

Как и другие виды командных оболочек Linux здесь поддерживаются файлы скриптов, перенаправление и управляющие структуры. Csh сейчас используется в виде tcsh во многих системах, например, MacOS X и Red Hat Linux. В Debian можно использовать оба варианта CSH и Tcsh.

Пример кода на C Shell:

!/bin/cshif ( $days > 365 ) thenecho This is over a year.endif

Fish

Fish или Friendly Interactive Shell - это командная оболочка Linux нового поколения. Она разработана чтобы облегчить пользователю выполнение команд, есть подсветка синтаксиса, подсветка правильных адресов файлов, быстрый поиск по истории, веб-конфигуратор, а также особый синтаксис скриптов.

Это новая командная оболочка в Linux и ее синтаксис непохож ни на одну из современных командных оболочек, а скорее на язык программирования Python.

Пример создания функции на fish:

!/usr/bin/fishfunced sufunction su/bin/su --shell=/usr/bin/fish $argvendfuncsave su

Более подробное сравнение командных оболочек в Linux вы можете посмотреть по ссылке.

Это все на сегодня. Надеюсь вам было интересно.

Перевод: http://www.unixmen.com/evolution-unix-linux-shells/

losst.ru

Графическая оболочка Linux. Какие компоненты входят в эту систему?

На чем строятся графические оболочки

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

Linux реализует обратный подход. Операционная система отвечает за низкоуровневый функционал. Однако в ней существует компонент, именуемый X Window System. Это система объединяет в себе специальные протоколы и инструменты, необходимые для построения полноценной графической оболочки. Она определяет базовые механизмы отрисовки и перемещения окон, а также взаимодействия с мышью и клавиатурой. X Window System не регламентирует визуального оформления, оставляя эту задачу на конкретные среды рабочих столов, создаваемые энтузиастами.

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

Рис 1. Выбор оболочки при входе в систему

ЗаметкаX Window System старый и сложный компонент. Начало его создания и внедрения приходится на 1984 год. Он проделал долгий путь и постепенно обрастал новым функционалом. Полный разбор специфики его работы не входит в задачи нашего учебного курса. Отметим лишь, что в последние годы ведется всё больше разговоров о переходе с X Window System на Wayland, которая, по словам разработчиков, призвана исправить многочисленные ошибки старой системы.

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

Основные компоненты графической среды

Современные пользователи очень требовательны к рабочему окружению. Поэтому все графические среды Linux имеют широкий спектр возможностей. В разных дистрибутивах по умолчанию используются различные графические оболочки. К самым популярным относятся: Gnome, KDE, Unity (производная от Gnome).

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

  • Рабочий стол — набор панелей с быстрым доступом к часто используемым программам. Управление пользовательской сессией и выключением компьютера через меню «Пуск». Статусные значки состояния компонентов системы: заряд аккумулятора ноутбука, подключение к интернету, раскладка клавиатуры и т.д.
  • Дополнительные программы — комплекс программ, нацеленный на обработку основных задач пользователя. К ним относятся: калькулятор, управление цветовыми настройками дисплея, монитор ресурсов системы, управление дисками, запись CD и DVD, а также многое другое.
  • Диспетчер окон — отвечает за стандартные механизмы взаимодействия. Позволяет переключаться между окнами, перетаскивать, скрывать или менять настройки программы через контекстное меню.

ЗаметкаОдну из графических сред Linux мы подробно изучим в следующих статьях данного учебного курса. Будут рассмотрены компоненты рабочего стола, набор дополнительных программ и выполнение настроек.

coder-booster.ru

Оболочка пользователя Linux ( shell )

&nbsp &nbsp Операционные системы семейства Linux, как впрочем, и любые другие ОС, предполагают наличие интерфейса взаимодействия между компонентами компьютерной системы и конечным пользователем, т. е. наличие программного уровня, который обеспечивает ввод команд и параметров для получения желаемых результатов. Такой программный уровень получил название "оболочка" или, на английском языке - shell.

Что такое оболочка ?

Командная оболочка ( shell ) обеспечивает взаимотействие между пользователем и средой операционной системы Linux. Она является специализированным программным продуктом, который обеспечивает выполнение команд и получения результатов их выполнения, или, если совсем уж упрощенно, оболочка - это программа, которая предназначена для обеспечения выполнения других программ по желанию пользователя. Примером оболочки может быть, например, интерпретатор команд command.com операционной системы MS DOS, или оболочка bash операционных систем Unix / Linux.

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

- Интерпретация командной строки.

- Доступ к командам и результатам их выполнения.

- Поддержка переменных , специальных символов и зарезервированных слов.

- Обработка файлов, операций стандартного ввода и вывода.

- Реализация специального языка программирования оболочки.

&nbsp &nbsp Для операционных систем семейства Unix / Linux возможно использование нескольких различных оболочек, отличающихся свойствами и методами взаимодействия с системой. Наиболее распространенными оболочками являются

sh - оболочка Bourne , классическая оболочка для ОС Unix

bash оболочка Bourne Again (GNU Bourne-Again SHell). Пожалуй, наиболее распространенная на данный момент, оболочка в среде ОС семейства Linux.

ksh - оболочка Korn, разработанная в качестве развития оболочки Bourne с историей командной строки и возможностью редактирования команд.

csh - оболочка C, использующая синтаксис популярного языка программирования C

tcsh - версия оболочки C с интерактивным редактированием командной строки.

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

&nbsp &nbsp В процессе загрузки операционных систем семейства Linux, после загрузки ядра системы выполняется переход в интерактивный режим – режим взаимодействия пользователя и операционной системы. В ОС Linux, первым запускаемым в ходе загрузки процессом, является программа инициализации init, которая считывает содержимое конфигурационного файла /etc/inittab, определяет перечень и характеристики терминалов, имеющихся в системе, и вызывает программу интерактивного входа getty, отображающую приглашение для ввода имени пользователя. После ввода имени пользователя и пароля, программа getty вызывает программу login, которая проверяет достоверность учетной записи, выполняет переход в домашний каталог пользователя и передает управление программе начального запуска сеанса, в качестве которой обычно используется программа оболочки пользователя, конкретная разновидность которой определяется содержимым файла /etc/passwd для данной учетной записи. Например:

user1:x:508:511::/home/user1:/bin/sh interbase:x:510:511::/home/interbase:/bin/csh apb:x:511:513:apb:/home/apb:/bin/bash

Как видно из содержимого файла /etc/passwd, для пользователя user1 будет запущена оболочка sh ( оболочка Bourne ), для пользователя interbase - оболочка csh (оболочка C ) и для пользователя apb - оболочка bash ( Bourne Again ). После старта оболочки, на экран выводится приглашение к вводу команд ( обычно в виде знака доллара $, если работа выполняется в контексте учетной записи обычного пользователя , или фунта # , если оболочка используется под учетной записью привилегированного пользователя (root).

При выходе из оболочки, ядро системы возвращает управление программе init, которая перезапускает процесс входа в систему и на терминале отображается приглашение к вводу имени пользователя. Выход из оболочки может быть выполнен одним из двух способов :

- посредством команды exit выполненной пользователем

- при получении процессом оболочки сигнала kill, отправленного ядром, например при перезагрузке системы.

Интерпретация командной строки.

&nbsp &nbsp Пользовательский ввод в ответ на приглашение оболочки обычно называют командной строкой или командой. Команда Linux - это строка символов из имени команды и аргументов, разделенных пробелами. Аргументы предоставляют команде дополнительные параметры, определяющие ее поведение. Наиболее часто в качестве аргументов используются опции и имена файлов и каталогов. Например, командная строка

ls -l file01 file02

содержит команду ls, опцию -l и два имени файлов file01 file02 .

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

ls -l -d ls -ld

Команды, являющиеся частью оболочки, называются встроенными. К таким командам относятся, например, cd, if, case и т. п. Естественно, встроенные команды могут отличаться для различных вариантов оболочек. Кроме встроенных команд, возможно использование программных модулей, представляющих собой отдельные исполняемые файлы, или файлов скриптов или сценариев - обычных текстовых файлов, содержащих последовательно выполняемые строки с командами оболочки. Некоторые скрипты (сценарии) могут выполняться процессами Linux, как например, планировщиком задач cron. Планировщик задач, как правило, предназначен для автоматического выполнения задач администрирования системы по расписанию. Задачи cron представляют собой команды или скрипты и выполняются автоматически, без какого либо вмешательства человека и могут выполняться в контексте разных учетных записей пользователей. В случае, когда задача планировщика предполагает выполнение какого-либо скрипта, возникает проблема выбора оболочки, которая должна быть запущена в качестве дочернего процесса cron для обработки команд из файла скрипта - ведь оболочка может быть любой, а синтаксис скрипта, как правило, предполагает использование конкретной оболочки, под которую он написан. Для устранения данной проблемы, в ОС семейства Linux принято в первой строке скрипта указывать разновидность оболочки, необходимой для его выполнения, в виде:

#!/bin/bash - для оболочки bash

#!/bin/sh - для оболочки sh

Знак # является признаком комментария и следующие за ним символы не интерпретируются в качестве команды. Такой прием позволяет явно указать, какая оболочка должна быть использована для обработки последующего содержимого файла. Если же скрипт не содержит запись, явно определяющую требуемую оболочку, то будут использованы настройки из учетной записи, в контексте которой выполняется данный скрипт. В этом случае, возможна ситуация, когда скрипт, написанный для оболочки, например, tch будет передан для выполнения в оболочку bash, что приведет к невозможности его выполнения.

При выполнении команд или сценариев используются переменные окружения (на английском языке - environment , значения которых характеризуют программную среду, в которой происходит выполнение команд. Такие переменные могут содержать общие настройки системы, параметры графической или командной оболочки, пути исполняемых файлов и т.п. Значения переменных окружения устанавливаются на уровне системы (для всех пользователей) и на уровне конкретного пользователя. Для установки переменных окружения на уровне системы используется содержимое файлов:

/etc/profile - устанавливает переменные только для командных оболочек. Может запускать любые скрипты в оболочках, совместимых с Bourne shell.

/etc/bash.bashrc - устанавливает переменные только для интерактивных оболочек. Он также запускает bash-скрипты.

/etc/environment - используется модулем PAM-env. В этом файле можно указывать только пары имя=значение.

Каждый из этих файлов имеет свои особенности применения, поэтому следует внимательно выбирать тот, который подходит для ваших целей. Например, если нужно добавить пользовательский каталог ~/bin в переменную PATH для всех пользователей, поместите следующий код в один из системных файлов инициализации окружения (/etc/profile или /etc/bash.bashrc):

# Если идентификатор ID пользователя более или равно 1000, и существует каталог ~/bin, и он

#не был ранее добавлен в переменную PATH,

# выполнить экспорт ~/bin в переменную $PATH.

if [[ $UID -ge 1000 && -d $HOME/bin && -z $(echo $PATH | grep -o $HOME/bin)

]] then

export PATH=$HOME/bin:${PATH}

fi

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

Если же нужно изменить среду окружения для конкретного пользователя, используется модификация содержимого среды окружения пользователя:

- ~/.bash_profile, ~/.bash_login и т.п. - файлы инициализации командной оболочки из домашнего каталога пользователя.

- ~/.profile - файл инициализации профиля пользователя. Используется многими оболочками для определения переменных среды.

~/.pam_environment - пользовательский аналог файла /etc/environment, который используется модулем PAM-env.

Например, чтобы добавить каталог пользователя ~/bin в пути поиска исполняемых файлов, заданных переменной PATH, можно например, в файл ~/.profile поместить строку:

export PATH="${PATH}:/home/пользователь/bin"

Чтобы установить переменные окружения для графических приложений, используется содержимое файлов настройки графической среды пользователей ~/.xinitrc

Гораздо чаще значения переменных окружения задаются для текущего сеанса пользователя. Например, для добавления пользовательского каталога ~/bin в пути поиска исполняемых файлов:

export PATH=~/bin:$PATH

Новое значение переменной PATH будет действовать только до завершения текущего сеанса пользователя.

Для просмотра значения переменной можно использовать команду echo $переменная, например:

echo $PATH

В настоящее время, самой распространенной оболочкой, как уже упоминалось выше, является bash. Вызвано это, в первую очередь тем, что оболочка bash является sh - совместимой командной оболочкой, в которую добавлены полезные возможности из оболочек Korn shell (ksh) и C shell (csh). Оболочка bash может без какой-либо модификации выполнять большинство скриптов, написанных под язык программирования оболочки sh и в максимальной степени пытается приблизиться к стандарту POSIX, что привело к появлению множества улучшений, причем как для программирования, так и использования в интерактивном режиме. В современной реализации bash имеется режим редактирования командной строки, неограниченный размер истории команд, средства управление заданиями, возможность использования псевдонимов, обширный перечень встроенных команд, функции командной оболочки и т.п. В целом, bash в наибольшей степени соответствует потребностям среднестатистического пользователя, что и сделало ее наиболее используемой в среде Linux.

При запуске bash без параметров командной строки, оболочка запускается в интерактивном режиме, отображая на экране приглашение к вводу команд. Интерактивная оболочка обычно читает данные из терминала пользователя и пишет данные в этот же терминал, стандартным устройством ввода является клавиатура, а стандартным устройством вывода – дисплей. Пользователь вводит команды на клавиатуре, а результат их выполнения отображается на дисплее.

Статьи по теме:

Основы работы в командной строке Linux.

Перечень наиболее часто используемых команд Linux.

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой "Поделиться" для своей социальной сети

В начало страницы &nbsp &nbsp &nbsp | &nbsp &nbsp &nbsp На главную страницу сайта.

white55.ru

Что такое командные оболочки Linux? Краткое рассмотрение интерпретатора Bash

Понятие командной оболочки

В прошлом уроке мы рассмотрели текстовые терминалы, которые одновременно являются историческим наследием и удобным инструментом системного администрирования. На заре IT-индустрии они использовались для решения простейших задач: последовательный запуск программ и просмотр результата выполнения.

Современные операционные системы создают уровень абстракции, позволяющий использовать терминалы совместно с командными оболочками. Оболочки имеют расширенные возможности работы в текстовом режиме и идут в комплекте с любым дистрибутивом Linux.

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

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

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

Основные возможности Bash

История создания Bash берет свое начало с 1987 года. Командная оболочка была разработана Брайаном Фоксом на основе ранее существовавшей Bourne shell. Она обладает широким спектром возможностей. В последнее время появилось множество других интерпретаторов, значительно обгоняющих Bash по скорости работы. Тем не менее, многочисленное сообщество и установка практически на всех дистрибутивах Linux сохраняет её популярность.

  • Использование конвейеров для передачи результата одной программы в другую.
  • Встроенный язык программирования с условными операторами, циклами и т. д.
  • Запуск набора команд из файла (скрипта).
  • Авто дополнение имен файлов и директорий.
  • Просмотр истории введенных команд.
  • Перенаправление ввода-вывода.
  • Использование оболочковых переменных

При открытии текстового терминала Linux командная оболочка будет загружена в него автоматически. От пользователя не требуется никаких дополнительных операций. Ниже мы приводим простой пример команды echo и записи её результата в файл.

echo "пример использования Bash" > ~/bash-test.txt

После выполнения команды интерпретатор Bash создаст в домашней папке пользователя файл с именем bash-test.txt. Он будет содержать текст, стоящий после оператора echo.

ЗаметкаВ следующих уроках возможности Bash будут рассмотрены более детально. Данная статья раскрывает лишь общие определения и принципы работы.

Командные оболочки и пользователи

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

Увидеть какие оболочки, к каким пользователям привязаны можно в файле /etc/passwd. Каждая строчка в нем — это определение отдельного пользователя. В самом конце строки после двоеточия указывается место расположения исполняемого файла командной оболочки. Например, /bin/bash. Вы можете заметить, что у некоторых пользователей эта часть строки указана как /bin/false. Такое определение запрещает использование любой оболочки.

Системный администратор может вручную исправить файл /etc/passwd. Если вы являетесь обычным пользователем, необходимо выполнить команду chsh с указанием расположения исполняемого файла командной оболочки.

chsh -s /bin/bash

coder-booster.ru

Графические оболочки в Linux [основы основ, работа в KDE]

И снова здравствуйте, дорогие друзья, товарищи, читатели и прочие личности. Я давно обещал народу больше статей по линуксу, а то у нас вышло то всего ничего, про установку в виртуализаторе, да и всё, в общем-то. Так что будем исправлять полегоньку.

Эта статья не столько практическая (хотя можете попрактиковаться, если есть под рукой сборка линукса на KDE), сколько вводно-теоретическая (прямо стихи получились). Вообще формата статей по Linux‘у будет два – теория и практика, чтобы Вы не просто тыркали вслепую заученные кнопки, а понимали как всё устроено и работает, а значит не боялись появившихся проблем или новых шагов.

Поехали, что ли.

GUI GUI GUI.. Тысячи их! Что же к чему?

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

Начнем с основ. Графическая оболочка среды, являет собой оболочку операционной системы, которая обеспечивает связь пользователя с различными функциями системы, т.е, попросту говоря, позволяет ей управлять. Различают два типа таких оболочек – текстовый пользовательский интерфейс (Text user interface (TUI)) и графический пользовательский интерфейс (Graphical user interface GUI)). Пока мы остановимся на второй, т.е на GUI, потому как, устанавливая почти любую систему, мы, уже давно, попадаем прежде всего видим на экране симпотяшный графический интерфейс.

Примечание. Оболочка и интерфейс – разные вещи. Не запутайтесь по ходу текста.

В Windows, по сути, всего одна графическая оболочка, т.е мы можем менять графическую тему, поменять настройки некоторых графических элементов (например изменить иконку у папки), но, как бы мы не старались, сам графический интерфейс останется тем же.

В Linux же таких графических оболочек несколько и Вы можете установить их все, а при входе в систему выбрать ту, которая вам ближе или которая больше нравится. Наиболее распространенные среды в линуксе – это KDE и GNOME. Они являют собой две конкурирующие среды, тобишь, если у вас более менее мощный компьютер, то выбор графической оболочки остановится на этих двух средах, а уж какую установить будет зависеть только от Вас.

Теперь далее. Выбирая графическую среду, Вы выбираете набор программ, с которыми будете работать. Среда KDE использует для работы библиотеку Qt, а GNOME - GTK. Если вы выбираете KDE, то будут установлены программы, работающие на библиотеке Qt, если выбрали GNOME, то соответственно устанавливаются программы, основанные на библиотеке GTK. Как пример, в качестве файлового менеджера (интерфейс пользователя для работы с файлами и файловой системой в целом) при выборе KDE будет установлен Dolphin, а при выборе GNOME - Nautilus. Если позволяет дисковое пространство, то конечно же можно установить их вместе и при загрузке операционной системы можно выбирать в какой графической оболочке Вы сегодня захотите работать, но запустить программу под несвойственной ей среде не получится.

Важно при работе с этими графическими средами учесть, что они довольно много потребляют оперативной памяти, т.е. если у вас слабенький компьютер, то Ваша работа будет заметно затормаживаться. Впрочем даже в таких случаях унывать не стоит, потому что этими двумя средами ознакомление с линуксом не прекращается, так как существуют еще несколько графических сред полегче. Например вот среда Xfce ориентирована на производительность и является отличным выбором для слабых машин. Или скажем LXDE, тоже легкая, не перегруженная рабочая среда, очень похожая на вышеупомянутый Gnome. Но и на этом список графических сред Linux не заканчивается, есть еще Openbox, Enlightenment, AfterStep, AntiRight и т.д., но это уже для гурманов)) и мы их рассматривать не будем (а то совсем заплутаем).

Работа в графических средах Linux

Для начала рассмотрим некоторые возможности работы в среде KDE (именно её решено избрать для рассмотрения в данной статье). Эта оболочка очень приближена к Windows, наверно потому, чтобы людям, перешедшим с Windows на Linux было не так страшно первое время заниматься изучением сей операционной системы (помню я эти круглые глаза пользователей, завидевших консоль).

И так, при входе в случае с использованием KDE мы попадаем в почти что Windows. Панель задач расположена также внизу экрана. Слева привычная всем кнопка Пуск (здесь она она называется Меню запуска), а справа иконки, стартующие при запуске сеанса.

Нажав, собственно, на эту самую кнопку, Вы увидите список программ установленных в системе. Отличие от Windows будет только в том, что все программы в здесь разделены на категории. Например те, что относятся к системным, находятся в одноименной категории “Системные“, те, которые относятся к интернету, соответственно, собираются в категории “Интернет“, игры в категории “Игры“, ну и т.д. Тобишь, что, например, чтобы запустить браузер FireFox, нам необходимо тыркнуть в “Меню запуска – Приложения – Интернет – Mozilla FireFox“.

Запуск программ можно осуществлять еще быстрее. Для этого, на рабочем столе делается нажатие правой кнопкой мыши и выбор пункта “Выполнить программу“, а в открывшемся окне вводится команда для запуска программы (правда в этом случае вы должны знать команду вызова той или иной программы, но не пугайтесь, ибо с дальнейшим освоением сей операционки, Вы запомните названия команд для вызова программ и приложений, а пока можете по старинке пользоваться ярлыками).

Дабы не использовать мышку, можно запускать программы с помощью горячих клавиш, а именно, используя сочетание Alt+F2, после нажатия на которое, появится окно с приглашением ввести команду. Например, чтобы вызвать терминал достаточно нажать Alt+F2 и в открывшемся окне ввести terminal.

Узнать, как называется та или иная команда очень просто. На рабочий стол вы можете вынести ярлыки из меню запуска, а дальше, если Вы нажмете на ярлык правой кнопкой мыши и выберите “Свойства“, то попав на вкладку “Приложение” Вы увидите команду запуска этого приложения. Скопируйте или наберите вручную в окне, вызванном Alt+F2, команду, затем нажмите Enter и приложение запустится (всё просто ).

Комбинация клавиш Alt+F3 открывает системное меню текущего окна, с помощью которого опять же как и в Windows можно изменить размер окна, свернуть/развернуть приложение, переместить приложение на другой рабочий стол, закрыть окно и всё такое разное.

Примечание.Сочетание клавиш Alt+F4, собственно, закрывает текущее окно. Это я так. К слову

Теперь давайте поговорим немного как можно устанавливать и удалять программы в среде KDE, а то, наверное, это самый часто задаваемый вопрос. Я расскажу о способе, позволяющем не прибегать к консоли (по работе в оной еще будет отдельная толстая статья). Чтобы установить приложение нужно зайти в меню “Приложения – Администрирование” и запустить оснастку “Управление программами” , откуда и можно устанавливать/удалять/обновлять программы и компоненты.

Нажав на значок настройки окна Вы войдете в настройки обновления, где их, собственно, можно настроить. Вкладка “Источники программ” показывает какие репозитории (хранилища) у Вас задействованы для установки/обновления программ. Здесь вы можете подключать или наоборот отключать эти самые штуки, главное не подключать все источники со словами testing и debug, если не знаете для чего они нужны.

Все программы, которые установлены в системе отмечены зеленой галкой здесь же в “Управление программами“. Если требуется установить приложение, то вы подводите курсор к неустановленной программе и тут же высвечивается заманчивое предложение.. Ну да, установить (кто бы мог подумать ). Так как описание программ частенько на английском, то если с ним не дружите, просто воспользуйтесь поисковиком в браузере и узнайте для чего оно нужно. Ну или там просто найдите сразу лучшие программы, которые рекомендуют в интернете и установите их, не особо читая описание в самом установщике. И, да, он (установщик) сделает всё за Вас, нет необходимости выбирать пути и заниматься прочей разностью.

Ну и напоследок. С удалением я думаю, проблем не возникнет, ибо Вы просто подводите курсор к установленной программе и нажимаете на красный крестик. А вот, при установке или обновлении программ, иногда нужно воспользоваться правами администратора, где Вам предложат ввести пароль от суперпользователя. Всегда выполняйте эти указания (ниже есть пару слов об этом).

Root, суперпользователь и права администратора

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

Суперпользователь, он же root-пользователь, он же администратор – это, так сказать, царь и бог в системе. Зайдя под суперпользователем, можно сделать с операционкой всё, что угодно, начиная от установки программ и заканчивая пересборкой ядра Поэтому, при обычной работе, никогда не используйте учётную запись root (именно по соображениям безопасности, при установке, Вам дают указать пароль от рута и пароль от обычного аккаунта, а потом, без надобности, в рут просто так не попасть, ибо надо давать команду и вводить пароль).

Старайтесь вообще не заходить в систему под этим именем, а лишь прибегать к вводу пароля при установке программ или когда еще оно бывает нужно (например, изменение важных системных настроек). Обычный пользователь не в состоянии повредить или удалить никакие файлы, имеющие критически важное значение для работоспособности системы в целом, а суперпользователь – может.

Послесловие

Сегодня мы рассмотрели некоторые возможности работы в среде KDE 4, а именно пробежались по базису: запуску-установке-удалении программ и чуть-чуть раскрыли тему root‘а. Следующий же материал, скорее всего, будет посвящен возможностям работы в среде GNOME 3, а следом и работой с терминалом (консолью) и основными командами в нём.

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

help.starline.lg.ua

Командная оболочка Linux

1 Консоль и терминал

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

В Linux терминал обеспечивает доступ к специальной программе — командной оболочке (чаще всего bash). Она занимается интерпретацией (переводом на машинный язык) команд пользователя. Почему "оболочка"? Наверное потому, что она как бы обволакивает операционную систему, позволяя человеку не вдаваться в подробности реализации функций системы, и, тем самым, облегчает работу.

Итак, через терминал (или консоль) мы получаем доступ к командной оболочке.

В операционной системе Linux работать с командной оболочкой можно двумя способами: в графическом режиме и текстовом.

Запустить эмулятор терминала в среде KDE (часто тут употребляют название "консоль") можно через главное меню. Для работы в текстовом режиме следует выполнить комбинацию клавиш Ctrl+Alt+F1 (или Ctrl+Alt+F2, или Ctrl+Alt+F3, или Ctrl+Alt+F4, или Ctrl+Alt+F5, или Ctrl+Alt+F6). Комбинация клавиш Ctrl+Alt+F7 переключает экран в графический режим. Другими словами, в Linux эмулируется семь терминалов.

2 Работа с нескольких терминалах и вход в систему

Когда операционная система (Linux) загружена, то работать с ней могут только люди, с которыми система "знакома". Для начала работы человеку нужно войти в систему ("сказать" ей кто он и подтвердить, что это действительно он).

В графическом режиме мы обычно видим красочное окно для входа (хотя говорят, что лазить в окна плохо, поэтому возможно - это дверь), в которое вводим свой логин (электронное имя) и пароль (электронный паспорт, удостоверяющий личность). Теперь, если мы захотим работать с командной оболочкой в графическом режиме, то запустим программу под названием "Консоль" (возможно в названии будет значиться слово "Терминал") и сразу увидим так называемое приглашение оболочки.

Если же мы переключаемся в текстовый режим работы (например, нажав Ctrl+Alt+F3), то первое, что мы увидим будет далеко не приглашение, а текстовое требование на ввод логина и пароля. Зачем, ведь мы уже вошли?! Вспомним, что Linux эмулирует работу нескольких терминалов, а терминал с древних времен — это удаленная точка входа (кстати, мобильник - это тоже терминал доступа, только к другой системе). Можно представить, что мы не нажимали Ctrl+Alt+F3, а пошли пообщаться в другое помещение, но так и остались там. Однако работа не дремлет, поэтому пришлось сесть за тамошний терминал (клавиатура+монитор), соединенный с нашим компьютером. Как операционная система должна определить, что это вы вернулись, а не сел другой человек (возможно с неадекватными целями). Системе ничего не остается как снова спросить логин и пароль. Конечно, установка в здании множества терминалов, чтобы кому-то там было удобно работать с компьютером из любой точки — бред (особенно для 70-x годов XX века). Множество терминалов было вынужденной мерой того времени, т. к. компьютер нужен был многим, но стоил он очень дорого и был слишком громоздким. Поэтому доступ множества людей к одному ресурсу через терминалы был выходом, т. к. создавалось впечатление что у каждого есть свой компьютер. Говорят, что некоторые граждане роняли фразы типа "Опять монитор повис!"; возможно они думали, что все вычисления творятся в мониторе (ну не в клавиатуре же).

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

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

Итак, вернемся к тому с чего начали. Переключившись в текстовый режим мы увидим приблизительно следующее: приветствие, название дистрибутива, дата его выпуска, текущий терминал (tty2). Во второй строке — имя компьютера в сети (в данном случае five) и предложение ввести логин.

Следует снова ввести логин и пароль. Ввод пароля не отображается (в целях безопасности). Далее вы должны увидеть что-то вроде этого:

В первой строке сообщается когда и где был последний вход (в данном случае с терминала ":0" - это графический режим). Во второй строке — сообщение о том, что пользователь имеет письмо в папке /var/mail/pupil6. Далее — приглашение командной оболочки.

3 Структура приглашения и текущий каталог

[pupil6@six ~]$ - это приглашение командной оболочки. Но это не просто "здрасьте", оно несет в себе информацию об имени пользователя (pupil6), имени компьютера (six) и текущем каталоге (~). Тильда (~) обозначает домашний каталог.

Еcли на том же компьютере зайдет другой пользователь, то изменится первая строка (до знака @), при работе на другом компьютере изменится также строка после @. А если поменять текущий каталог, то знак тильды будет заменен на имя нового текущего каталога. Примеры приглашений командной оболочки: [test@six Documents]$, [YaKreveDko@five ~]$ и т. д.

Текущий каталог — это каталог, в котором мы как бы находимся.

4 Примеры простейших команд

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

Чтобы выполнить команду ее надо записать после приглашения и нажать Enter. Например, если захочется узнать, сколько времени, то следует записать слово date (от англ. "дата") и нажать Enter. В итоге получим сообщение о сегодняшней дате и текущем времени.

ls выдает содержимое текущего каталога (т. е. список файлов и папок каталога, в котором мы находимся).

Команда who выдает список находящихся в системе пользователей.

В данном случае в системе работает один пользователь, но с двух терминалов (tty2 и :0). А вот в примере ниже уже два пользователя (test и pupil6).

date, ls и who - это примеры очень простых команд. На самом деле большинство команд состоят не из одного слова, а имеют параметры. Пока оставим это до следующего урока.

Еще один момент. Если написать строку, которая не является командой, то оболочка сообщит, что "команда не найдена".

5 Практическая работа

  1. Зайдите в операционную систему в графическом режиме, затем с двух терминалов, работающих в текстовом режиме.
  2. Выясните сколько пользователей работают в системе и где.
  3. Узнайте содержимое текущего каталога, работая в текстовом режиме. Переключитесь в графический режим и удостоверьтесь в правильности ответа командной оболочки.
  4. Дайте команду date два-три раза с небольшим перерывом между вызовами. Отметьте изменение времени.
  5. Спросите у оболочки чая (tea). Что она вам ответит?

6 Вопросы

  1. Что такое терминал?
  2. Сколько терминалов эмулируется в Linux? Какие комбинации клавиш позволяют переключаться из одного терминала в другой?
  3. Может ли один человек работать с двух терминалов?
  4. Могут ли два человека одновременно работать с одного терминала?
  5. Могут ли два человека одновременно работать с двух терминалов?
  6. Как получить доступ к командной оболочке? Зачем к ней получать доступ?
  7. Какие команды оболочки bash вы знаете?

younglinux.info