Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PytPajB0Au

.pdf
Скачиваний:
1
Добавлен:
15.04.2023
Размер:
1.54 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МУРМАНСКИЙ АРКТИЧЕСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

А.В. Вицентий, Е.С. Рудина, М.Г. Шишаев

ОСНОВЫ ПРАКТИЧЕСКОЙ РАБОТЫ С UNIX-ПОДОБНОЙ ОПЕРАЦИОННОЙ СИСТЕМОЙ

МУРМАНСК

2019

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МУРМАНСКИЙ АРКТИЧЕСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

А.В. Вицентий, Е.С. Рудина, М.Г. Шишаев

ОСНОВЫ ПРАКТИЧЕСКОЙ РАБОТЫ С UNIX-ПОДОБНОЙ ОПЕРАЦИОННОЙ СИСТЕМОЙ

Учебное пособие

Рекомендовано учебно-методическим советом университета в качестве учебного пособия по дисциплине «Операционные системы»

по направлению подготовки 09.03.02 «Информационные системы и технологии»

МУРМАНСК

2019

1

УДК 004.451 ББК 32.972.11

В54

Печатается по решению Совета по научно-исследовательской работе и редакци- онно-издательской деятельности Мурманского арктического государственного университета

Рекомендовано к печати учебно-методическим советом МАГУ (протокол № 2 от 25 декабря 2018 г.)

Авторы: А.В. Вицентий, кандидат технических наук, научный сотрудник лаборатории региональных информационных систем ФГБУН ИИММ КНЦ РАН, заведующий кафедрой ИВТиИБ филиала Мурманского арктического государственного университета в г. Апатиты; Е.С. Рудина, старший специалист ФГБУН ИИММ КНЦ РАН;

М.Г. Шишаев, доктор технических наук, доцент, профессор РАН, профессор кафедры МФиИТ Мурманского арктического государственного университета, руководитель лаборатории региональных информационных систем ФГБУН ИИММ КНЦ РАН

Рецензенты: В.Г. Наводнов, доктор технических наук, профессор, заведующий кафедрой прикладной математики и информационных технологий Поволжского государственного технологического университета (протокол № 5 от 25 января 2019 г.); С.Н. Малыгина, кандидат технических наук, доцент кафедры информа-

тики и вычислительной техники филиала Мурманского арктического государственного университета в г. Апатиты

Вицентий А.В.

Основы практической работы с UNIX-подобной операционной системой:

учебное пособие / А.В. Вицентий, Е.С. Рудина, М.Г. Шишаев. – Мурманск : МАГУ,

2019. – 96 с.

Учебное пособие раскрывает базовые принципы работы с операционной системой FreeBSD. Описаны основные принципы работы файловой системы, инструменты создания файлов и каталогов, механизмы работы с учетными записями пользователей и группами пользователей, назначения, расчета и изменения прав на доступ к файлам, а также некоторые широко используемые команды командного языка shell и основы создания скриптов. Приводится подробная инструкция для самостоятельной установки операционной системы FreeBSD на виртуальную машину для дальнейшего изучения принципов ее работы. Пособие может использоваться как в рамках аудиторных занятий, так и для самостоятельной подготовки. Пособие может быть полезно студентам уровня бакалавриата по направлению подготовки 09.03.02 «Информационные системы и технологии», а также широкой аудитории читателей, интересующейся основами работы современных операционных систем.

Печатается в авторской редакции.

ISBN 978-5-4222-0388-8

Вицентий А.В., Рудина Е.С., Шишаев М.Г., 2019

 

ФГБОУ ВО «Мурманский арктический

 

государственный университет», 2019

2

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ ...................................................................................................................

5

1.

КРАТКОЕ ВВЕДЕНИЕ В ОСНОВЫ РАБОТЫ С UNIX–ПОДОБНОЙ

 

ОПЕРАЦИОННОЙ СИСТЕМОЙ ..............................................................................

6

2.

ТИПЫ ФАЙЛОВ В UNIX ......................................................................................

14

3.

СЦЕНАРИЙ. ОСНОВНЫЕ КОМАНДЫ РАБОТЫ С ФАЙЛОВОЙ

 

СИСТЕМОЙ В SHELL ...............................................................................................

18

4.

СОЗДАНИЕ ИЕРАРХИИ КАТАЛОГОВ ПО ПРЕДЛОЖЕННОЙ СХЕМЕ .....

22

5.

ПОЛЬЗОВАТЕЛИ В ОПЕРАЦИОННОЙ СИСТЕМЕ UNIX .............................

26

 

5.1. ПОЛЬЗОВАТЕЛИ И ГРУППЫ ......................................................................

26

 

5.2. ФАЙЛ /ETC/PASSWD.....................................................................................

28

 

5.3. ФАЙЛ /ETC/GROUP .......................................................................................

29

 

5.4. СИСТЕМНЫЕ РЕГИСТРАЦИОННЫЕ ИМЕНА ........................................

30

 

5.5. ИЗМЕНЕНИЕ ПАРОЛЯ И ХАРАКТЕРИСТИК УЧЕТНОЙ ЗАПИСИ,

 

 

СВЯЗАННЫХ С РЕГИСТРАЦИЕЙ .....................................................................

30

 

5.6. СРЕДСТВА СОЗДАНИЯ, ИЗМЕНЕНИЯ И УДАЛЕНИЯ УЧЕТНЫХ

 

 

ЗАПИСЕЙ ПОЛЬЗОВАТЕЛЕЙ ............................................................................

31

6.

ПРАВА ДОСТУПА К ФАЙЛАМ..........................................................................

33

 

6.1. ИЗМЕНЕНИЕ ПРАВ ДОСТУПА К ФАЙЛУ ...............................................

35

 

6.2. СИМВОЛЬНОЕ ПРЕДСТАВЛЕНИЕ ИЗМЕНЕНИЯ ПРАВ ДОСТУПА ..

35

 

6.3. УСТАНОВКА РЕЖИМА СОЗДАНИЯ ФАЙЛА .........................................

38

 

6.4. ИЗМЕНЕНИЕ ПРИНАДЛЕЖНОСТИ ФАЙЛА ...........................................

39

7.

СКРИПТЫ (КОМАНДНЫЕ ФАЙЛЫ) В UNIX ..................................................

41

8.

УСТАНОВКА UNIX-ПОДОБНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ НА

 

ПРИМЕРЕ FREEBSD В VIRTUALBOX...................................................................

44

 

8.1. СОЗДАНИЕ И НАСТРОЙКА ВИРТУАЛЬНОЙ МАШИНЫ

 

 

VIRTUALBOX ........................................................................................................

44

 

8.2. УСТАНОВКА FREEBSD................................................................................

49

9.

УПРАВЛЕНИЕ ФАЙЛАМИ В UNIX-ПОДОБНЫХ ОПЕРАЦИОННЫХ

 

СИСТЕМАХ ................................................................................................................

68

 

9.1. ПРОГРАММИРОВАНИЕ ОПЕРАЦИЙ ВВОДА-ВЫВОДА ......................

70

3

9.2. КОМПИЛИРОВАНИЕ ИСХОДНОГО КОДА ПРОГРАММЫ НА ЯЗЫКЕ

C++ ...........................................................................................................................

74

9.3. ПРИМЕРЫ РАБОТЫ С ФАЙЛАМИ ............................................................

75

9.4. ВАРИАНТЫ ЗАДАНИЙ ДЛЯ ЗАКРЕПЛЕНИЯ ЗНАНИЙ НА

 

ПРАКТИКЕ .............................................................................................................

76

ЗАКЛЮЧЕНИЕ ...........................................................................................................

82

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ И ИНТЕРНЕТ-РЕСУРСОВ...

83

ПРИЛОЖЕНИЕ 1

 

ПРИМЕР РАЗДАТОЧНЫХ МАТЕРИАЛОВ ДЛЯ ВЫПОЛНЕНИЯ

 

КОНТРОЛЬНЫХ РАБОТ ..........................................................................................

84

4

ВВЕДЕНИЕ

Данное учебное пособие предназначено для студентов, обучающихся по направлениям подготовки бакалавриата 09.03.02 «Информационные системы и технологии», 38.03.05 «Бизнес информатика» и другим направлениям подготовки, включающим изучение дисциплины «операционные системы».

Эта дисциплина относится к обязательным дисциплинам базовой части профессионального цикла для студентов 3 курса по направлению подготовки бакалавриата 09.03.02 «Информационные системы и технологии» и к дисциплинам по выбору вариативной части для студентов 3 курса по направлению подготовки бакалавриата 38.03.05 «Бизнес информатика».

Учебное пособие знакомит студентов с некоторыми принципами архитектуры и функционирования современных операционных систем дает теоретические знания и практические навыки для работы с UNIXподобной операционной системой (FreeBSD). Особое внимание уделяется описанию основных принципов работы файловой системы, инструментам создания файлов и каталогов, механизмам работы c учетными записями пользователей и правами на доступ к файлам, а также основам использования командного языка shell.

Содержание учебного пособия «Основы практической работы с UNIX-подобной операционной системой» полностью соответствует требованиям федерального государственного образовательного стандарта высшего образования по направлению подготовки 09.03.02 Информационные системы и технологии (уровень бакалавриата), утвержденного приказом Министерства образования и науки РФ № 219 от 12 марта 2015 г. (номер государственной регистрации 36623 от 30 марта 2015 г.) и федерального государственного образовательного стандарта высшего образования по направлению подготовки 38.03.05 Бизнес-информатика (уровень бакалавриата) утвержденного приказом Министерства образования и науки РФ № 1002 от 11 августа 2016 г. (номер государственной регистрации 43447 от 26 августа 2016 г.).

5

1.КРАТКОЕ ВВЕДЕНИЕ В ОСНОВЫ РАБОТЫ

СUNIX – ПОДОБНОЙ ОПЕРАЦИОННОЙ СИСТЕМОЙ

Операционная система UNIX занимает особое место среди других операционных систем. На самом деле, UNIX это целое семейство операционных систем, первая из которых была разработана еще в 1969 году силами сотрудников Bell Laboratories. Одной из важнейших особенностей операционных систем семейства UNIX является то, что они почти полностью совместимы на уровне исходных кодов друг с другом. В связи с тем, что компания AT&T запатентовала название UNIX, различные операционные системы, разработанные на её основе, принято называть UNIX-подобными операционными системами. Такие системы часто имеют собственные на-

звания: Solaris, Linux, FreeBSD и т.д.

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

Благодаря оконной системе X Window, UNIX-подобные операционные системы могут предоставлять удобный графический пользовательский интерфейс. А поддержка работы со стеком протоколов TCP/IP обеспечивает легкое взаимодействие между компьютерами в сети.

Первая версия UNIX была создана в конце шестидесятых годов прошлого века. Её разработчиками были программисты из команды разработчиков операционной системы Multics компании Bell Labs - Kenneth Thompson, Dennis MacAlistair Ritchie, Malcolm Douglas McIlroy. При создании

UNIX разработчики хотели получить простую операционную систему малых размеров.

До выпуска третьей редакции UNIX в 1973 году, операционная система не имела собственного встроенного компилятора языка высокого уровня Си, а первая версия UNIX вообще была полностью написана на ассемблере, без использования языков высокого уровня. Сегодня язык Си, наряду с оконной системой X Window, реализацией стека протоколов TCP/IP, встроенным командным языком и оригинальной файловой системой считается одной из основ, на которых строится разработка UNIXподобных систем.

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

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

6

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

Важным понятием является понятие корня или корневого каталога. Такой справочник обозначается символом: «/» и, как правило, содержит традиционный набор некоторых служебных директорий системы.

Кроме корневого каталога в UNIX-подобных системах применяют обозначение «.» для указания, так называемого «текущего каталога» и обозначение «..» для указания, так называемого «родительского каталога». Родительским каталогом считается справочник, который находится на один уровень иерархии выше рассматриваемого каталога, при условии, что движение осуществляется по направлению к корню. Естественно, у корневого справочника родительской директории нет. Традиционные каталоги, для которых корневой справочник является родительской директорией, перечислены ниже.

Вкорне находятся содержащий основные, необходимые для работы операционной системы и программ, библиотеки каталог «lib», а также каталог «etc», который предназначен для хранения команд администратора системы.

Для хранения часто используемых команд системы используется директория «bin», а для файлов, которые представляют для системы устройства, например, принтер, монитор, клавиатуру и др., используется справочник «dev».

Папка с именем «sys» содержит средства, используемые для реконфигурирования операционной системы.

Информация, необходимая для решения задач пользователя, хранится в каталоге «usr».

Справочник с именем «tmp» используется для хранения различных временных файлов, а каталог «mnt» используется для подключения новых файловых систем.

Также в корневом каталоге хранятся два выполняемых файла, необходимых для работы операционной системы. Это файл ядра UNIX и файл, отвечающий за загрузку – boot загрузчик.

ВUNIX-подобных операционных системах, как и во многих других, существует понятие полного имени файла.

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

7

Полное имя файла иногда также называют полным путем к файлу или абсолютным путем к файлу. Для упомянутых выше директорий и файлов, их полные имена могут выглядеть следующим образом: /usr, /bin, /boot и т.д.

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

Так, например, папка «usr» может содержать подпапки:

«projects» - для хранения проектов пользователя;

«prog» - для хранения текстов программ, разрабатываемых пользователем;

«doc» - для хранения документации;

ит.д.

В этом случае абсолютные пути к этим файлам будут выглядеть следующим образом:

/usr/projects;

/usr/prog;

/usr/doc.

Если в директории /usr/projects содержится справочник «time», который в свою очередь, содержит каталог «ddln», то то полное имя каталога «ddln» будет иметь вид:

/usr/projects/time/ddln.

Если имя файла начинается с символа «/» (прямой слеш), то это можно считать формальным признаком того, что задается полное имя файла.

Если имя файла задается относительно его текущего местоположения, то такое имя называется относительным именем файла. Например, если текущим местоположением в файловой системе для пользователя в данный момент является каталог «usr», то он может обратиться файлу «ddln», используя его относительное имя:

projects/time/ddln.

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

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

8

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

Расширения для имен файлов в UNIX-подобных операционных системах, как правило, не являются обязательными. Однако, существует некоторый набор команд, которые для корректной работы требуют, чтобы в имени файла присутствовало расширение. Примером могут служить программы на языке Си. Для того, чтобы компилятор мог корректно их обрабатывать, они должны иметь расширение «.c».

ВUNIX-подобных операционных системах большие и маленькие буквы воспринимаются как различные, поэтому "NAME_FILE", "name_file" и "Name_File" - это три различных имени.

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

Прежде, чем начать работать с системой, пользователю нужно выполнить вход в нее. Выполнив вход, пользователь начинает взаимодействие с командной оболочкой (shell) операционной системы. Чтобы показать готовность к приему команд пользователя, оболочка выводит на экран промптер. Чаще всего роль промптера играет символ доллара «$» или символ решетки «#».

Если после запуска на выполнение какой-либо команды промптер не появляется (или команда «зависла», или выполняется слишком долго), ее выполнение можно прервать принудительно. Для этого следует нажать комбинацию клавиш «CTRL+C».

Команды в shell обычно имеют следующий формат (составляющие команды разделяются пробелом):

<имя команды> <флаги> <аргумент(ы)>

Например:

ls -l -a /usr/bin,

где:

ls - имя команды, выводящей на экран содержимое каталога;

-l и - a - флаги ( "-" - признак флагов, l - вывод содержимого в длинном/расширенном формате, a - в вывод добавляются также системные файлы (их имена начинаются с символа точки

«.»)).

/usr/bin - каталог, для которого выполняется команда. Результатом выполнения этой команды будет вывод на экран всего

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

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]