Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.практикумСП.doc
Скачиваний:
39
Добавлен:
31.03.2015
Размер:
5.99 Mб
Скачать
    1. Контрольные вопросы

  1. Как задаются права доступа на файл?

  2. Для чего используются дополнительные атрибуты файлов?

  3. Для чего и как используются расширенные права доступа?

  4. Как задаются права доступа на директории?

  5. В каком порядке проводится проверка прав доступа?

ЛИТЕРАТУРА

  1. Глас Г., Эйблс К. Unix для программистов и пользователей. / Г. Глас, К. Эйблс – СПб.: БХВ-Петербург, 2004. – 848 с.: ил.

ЛАБОРАТОРНАЯ РАБОТА 10.

ПРОГРАММИРОВАНИЕ В SHELL

10.1. Цель работы

Целью работы является изучение основ программирования на языке Shell.

10.2. Оболочки Linux

Оболочкой (shell) называют программу, обеспечивающую интерфейс пользователя с ядром Linux. После входа пользователя в систему для него запускается одна из оболочек (в зависимости от записи в файле /etc/passwd). Все взаимодействие пользователя с ядром до конца сеанса работы осуществляется через данную среду. Введенная пользователем команда обрабатывается оболочкой и передается ядру системы. Таким образом, оболочка выполняет функции интерпретатора командного языка или командного интерпретатора. Кроме собственного набора встроенных команд, оболочка позволяет также использовать утилиты Linux и приложения доступные в системе.

При вводе пользователем команды в строке- приглашении Linux выполняется ряд действий:

  • командный интерпретатор проверяет, является ли введенная строка одной из его встроенных команд (например, cd или pwd);

  • если команда неизвестна, выясняется, является ли она вызовом программы-приложения. Утилиты Linux также считаются приложениями (например, ls или rm);

  • интерпретатором выполняется поиск соответствующего приложения во всех каталогах пути поиска;

  • если введенная команда не является встроенной или исполняемым файлом в пути поиска, появляется сообщение об ошибке;

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

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

Существует несколько разновидностей оболочек. Две главные – это «Bourne shell» или просто shell и «C shell». Bourne shell использует командный синтаксис, похожий на первоначально придуманный для Unix и имеет имя /bin/sh. C shell использует иной синтаксис, чем-то напоминающий синтаксис языка программирования Си и имеет имя /bin/csh. В Linux есть несколько вариаций этих оболочек. Две наиболее часто используемые, это новый Bourne shell или bash (/bin/bash) и tcsh (/bin/tcsh).

Разработчиком оболочки Bourne shell – командного интерпретатора Unix, доступного на любой Unix-системе – стал Steven Bourne. Bourne Again Shell (bash) представляет собой модифицированный вариант оболочки Bourne. Bash поддерживает все основные свойства интерпретатора shell с широким набором функций и объединяет в себе лучшие черты командных языков C – shell и Korn – shell. Bash имеет дружественный пользовательский интерфейс, а также гибкий и мощный интерфейс программирования.

Командный язык C – shell был разработан Биллом Джой для среды Unix. Эквивалентом в среде Linux является его модифицированная версия tcsh.

Создателем командного языка Korn – shell стал Дэвид Корн. Эквивалент данной оболочки в среде Linux получил название Public Domain Korn shell (pdksh).