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

Операционные системы. Учебное пособие-2

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
642 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

Государственное образовательное учреждение высшего профессионального образования

Московский технический университет связи и информатики

_________________________________________________________________

Тутова Н.В.

Операционные системы

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

для студентов специализаций 010300 - фундаментальная информатика и информационные технологии

(бакалавриат)

230700 - прикладная информатика (бакалавриат).

Москва 2011

ГУДК 681.3.066

Тутова Н.В. Операционные системы. Учебное пособие / МТУСИ. – М., 2011.—40 с.

Рассматриваются приѐмы работы в Unix-подобных операционных системах в режиме удаленного доступа.

Составитель: Тутова Н.В., к. т. н., доцент.

Рецензенты: к.т.н. Калимулина Э.Ю.

к.т.н., доцент Ерохин А.Г.

2

Введение

В последнее время все большую популярность среди серверных и домашних операционных систем приобретают операционные системы семейства Unix. Под управлением Unix-подобных операционных систем работает более половины всех Web-серверов в Интернет. И эта тенденция будет продолжаться, поскольку данные операционные системы отличаются функциональностью и надежностью. Кроме этого открытость исходного кода привела к тому, что многие такие системы являются бесплатными. Эту тенденцию необходимо учитывать при преподавании дисциплины «Операционные системы». Студенты должны иметь практические навыки работы в Unix-подобной операционной системе на уровне пользователя, в том числе необходимые для удаленной поддержки Webприложений.

Для демонстрации возможностей операционных систем семейства Unix и проведения лабораторных работ была выбрана бесплатная и хорошо зарекомендовавшая себя операционная система FreeBSD. Доступ к FreeBSDсерверу осуществляется с рабочей станции локальной сети по протоколу SSH, обеспечиваемый программой Putty. Для подключения к серверу необходимо на рабочем столе Windows запустить программу Putty; в поле Host Name ввести IP-адрес FreeBSD-сервера 10.10.10.254, а после нажать на кнопку Open. Появится окно терминала, в котором система запросит логин и пароль.

Логин: user

Пароль: Master123.

В сеансе работы с FreeBSD начальным (домашним) каталогом пользователя является каталог: /home/имя, где имя - сетевое имя пользователя, т.е. user. К этому каталогу и всем подкаталогам пользователь имеет права чтения, записи, выполнения, в отличие от других каталогов системы.

Работа в сеансе ведется в режиме командной строки. Стандартным приглашением в системах Unix является символ '$'. Обычно команда имеет вид:

имя_команды [опции]... [параметры]...

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

3

1. Использование командного интерпретатора для работы с файлами

1.1. Структура файловой системы FreeBSD

Файловая структура UNIX имеет иерархическую древовидную структуру. Корневой каталог является высшим уровнем иерархии и обозначается [/]. С помощью команды ls / можно увидеть содержимое корневого каталога файловой системы FreeBSD. В корневом каталоге размещаются другие каталоги и файлы, включая следующие основные каталоги, приведенные в таблице 1.1:

 

 

 

 

Таблица 1.1.

 

 

 

 

 

 

Каталог

Что хранится

 

 

 

 

/bin

большинство выполняемых командных программ;

 

 

/boot

загрузочные файлы ОС;

 

 

 

/dev

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

 

 

устройствам;

 

 

 

 

/etc

конфигурационные файлы системы, команды администратора;

 

/mnt

пустой каталог, предназначенный для подключения других

 

 

файловых систем;

 

 

 

/root

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

 

 

root);

 

 

 

 

/sbin

системные исполняемые файлы;

 

 

 

/home

домашние каталоги пользователей, часто является ссылкой на

 

 

/usr/home;

 

 

 

 

/tmp

временные файлы;

 

 

 

/usr

программы,

использующие

динамические

библиотеки;

 

 

пользовательские файлы и программы;

 

 

/var

изменяющиеся файлы пользовательских программ (спулы

 

 

принтеров, файлы почты, буферы, логи).

 

 

Полное имя файла включает в себя весь путь к нему, начиная с корневого каталога, например: /usr/home/student/file.txt.

Чтобы не писать каждый раз полный путь к файлу, существует относительное задание пути, при котором текущий каталог обозначается точкой (.); родительский каталог, которому принадлежит текущий, обозначается двумя точками (..). Например, пользователь, находясь в каталоге /usr/home/student, может сослаться на файл file.txt в этом каталоге как ./ file.txt.

Текущий каталог - это каталог, в котором в данный момент находится пользователь. Для вывода имени текущего каталога используется команда pwd.

4

При наличии прав доступа, пользователь может перейти в другой каталог. Для этого используется следующая команда:

cd <имя_каталога>

Если имя каталога не указано, то происходит переход в домашний каталог пользователя.

1.2. Работа с файлами

1.2.1. Работа с обычным текстовым файлом

В Unix имеется богатый набор средств для ввода и редактирования текстов. Стандартным текстовым редактором для всех Unix-систем является редактор vi. Кроме этого стандартным для FreeBSD является также редактор ee (easy editor). Также широко распространены редакторы tee, ed и sed.

Краткая справка по редактору vi

Чтобы запустить редактор vi необходимо в командной строке ввести команду vi. Если за ней последует имя файла, то он откроется для редактирования, а если задать имя несуществующего файла, то vi будет считать, что это новый файл.

Редактор vi работает в двух основных режимах - в режиме "ввода текста" и в режиме "команд". После запуска vi оказывается в режиме "команд", т.е. нажатия клавиш интерпретируются как команды редактору, а не как сам текст. Основные команды для работы в редакторе приведены в таблице 1.2.

 

Таблица 1.2.

 

 

 

Команда

Клавиша клавиатуры

 

Переход в режим "команд"

Esc

 

Переход в режим "ввода текста"

a или i

 

Удаление символов

x

 

Выход без сохранения

:q!

 

Сохранение и выход

:wq

 

Более полный список команд представлен в документации.

Краткая справка по редактору ee

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

5

перечислены в меню в верхней части экрана, вводятся с удержание клавиши Ctrl. Для выхода из редактора необходимо нажать клавишу Esc, в появившемся меню выбрать Leave editor.

Более подробно см. справку.

Дополнительные команды для работы с файлами

cat file- вывод содержимого файла;

cat file.1 file.2 > file.12 - конкатенация (объединение) файлов file.1 file.2, результат направляется в file.12;

mv file.1 file.2 - переименование файла file.1 в file.2;

mv file.1 file.2 file.3 directory - перемещение файлов file.1, file.2, file.3 в указанную директорию;

rm file.1 file.2 file.3 - удаление файлов file.1, file.2, file.3;.

cp file.1 file.2 - копирование файла file.1 с переименованием в file.2;

1.2.2. Работа с каталогами

mkdir <имя_каталога> - создание каталога;

rm dir1 dir2 - удаление пустых каталогов dir1 dir2;

rm –r <имя_каталога> - удаление каталога, включая все подкаталоги и файлы;

ls <имя_каталога>- вывод имѐн файлов, содержащихся в каталоге; если каталог не указан, то выдается список файлов текущего каталога;

ls -la <имя_каталога> - список включает всю информацию о файлах;

ls [-laR] <имя_каталога> - список включает всю информацию о файлах каталога и всех подкаталогов;

cd <имя_каталога> - переход в другой каталог. Если параметры не указаны, то происходит переход в домашний каталог пользователя.

pwd - вывод имени текущего каталога;

1.2.3. Работа со ссылками

6

Один файл можно сделать принадлежащим нескольким каталогам. Для этого используется команда ln (link):

ln <имя_файла_1> <имя_файла_2>

Имя 1-го файла - это полное составное имя файла, с которым устанавливается связь; имя 2-го файла - это полное имя файла в новом каталоге, где будет использоваться эта связь. Новое имя может не отличаться от старого. Каждый файл может иметь несколько связей, т.е. он может использоваться в разных каталогах под разными именами.

Команда ln с аргументом -s создает символическую связь:

ln -s <имя_файла_1> <имя_файла_2>

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

1.3. Задание на лабораторную работу

1.Ознакомиться с файловой структурой ОС FreeBSD. Изучить команды работы с файлами.

2.Используя команды ОС FreeBSD, создать два текстовых файла в разных текстовых редакторах.

3.Создать структуру каталогов, изображенную на рисунке 1, каталоги представлены элементами вида: , файлы - элементами вида: . Жирными линиями представлена вложенность файлов/подкаталогов в каталоги.

4.Файлы, создаваемые при выполнении данной работы, создаются копированием файла, созданного в задании 1, с внесением в копии некоторых изменений.

5.Создать ссылки, представленные на рисунке в индивидуальном задании черными тонкими линиями.

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

7.Провести ряд экспериментов, иллюстрирующих доступ к файлам по основным именам, по ссылкам и по символическим ссылкам.

7

8.Провести ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются ссылки, и файла, на который имеются символические ссылки.

Рис.1

4.Контрольные вопросы

1.Опишите структуру файловой системы в Unix.

2.Что считается файлами в OC Unix?

3.В каком каталоге хранятся программы и файлы пользователей?

4.Что такое домашний каталог?

5.Перечислите основные текстовые редакторы OC FreeBSD и опишите технологию работы в них.

6.Объясните назначение связей с файлами и способы их создания.

7.Перечислите основные команды для работы с файлами.

8.Перечислите основные команды для работы с каталогами.

2. Архивирование и сжатие файлов

2.1. Архивирование

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

Основным средством архивирования в UNIX является комплекс из двух программ — tar и gzip. Программа tar объединяет файлы в единый файл. Для сжатия полученного архивного файла часто применяют команду gzip. Сжатые таким образом архивные файлы имеют расширение .tar.gz или .tgz.

Программа tar

8

Для создания архивного файла на диске, необходимо использовать команду tar с опцией f, после которой указывается имя архивного файла.

У программы tar имеется 8 опций и при вызове программы должна обязательно задаваться одна из этих опций. Эти опции определяют основные функции программы.

 

Таблица 1. Основные опции программы tar

 

 

Опция

Значение

 

 

-A, --catenate, --

Добавляет файлы в существующий архив

concatenate

 

 

 

-c, --create

Создает новый архив

 

 

-d, --diff, --compare

Найти различия между архивом и файловой системой

 

 

--delete

Удалить из архива (не может использоваться с магнитной

 

лентой!)

 

 

-r, --append

Дописывает файлы в конец архива

 

 

-t, --list

Выводит список файлов архива

 

 

-u, --update

Добавляет только файлы, которые новее, чем имеющаяся в

 

архиве копия

 

 

-x, --extract, --get

Извлечь файлы из архива

 

 

tar -cf имя_архива файл1 файл2 ... - создание tar-архива из нескольких файлов.

tar -cvf имя_архива ./sub_dir/* - создание архива, содержащего все файлы одного из подкаталогов (пусть это будет sub_dir) текущего каталога;

tar -xvf имя_архива файл1 файл2 ... - извлечение файлов из архива; $ tar -tf имя_архива | less - получение списка файлов архива.

2.2. Cжатие файлов

Программа gzip

Для сжатия архивного файла применяется команда gzip:

gzip файл

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

9

$ gzip -d файл_архива или $ gunzip файл_архива

Исходные файлы после сжатия удаляются, а при разархивации удаляется архив.

Поскольку программа gzip не умеет сохранять в одном архиве несколько файлов, то обычно ее применяют для сжатия архивов, созданных программой tar. Более того, среди опций программы tar имеется специальная опция -z, позволяющая сразу после создания сжать его с помощью программы gzip. Для выполнения такого сжатия надо использовать команду tar примерно следующим образом:

$tar -czf имя_архива шаблон_имен_файлов (или имя_каталога)

В этом случае суффикс .gz не добавляется автоматически к имени создаваемого архива, поэтому лучше сразу задать имя архива с указанием обоих суффиксов:

имя.tar.gz.

Программа bzip2

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

2.3. Задание на лабораторную работу

1.Создать один tar-архив для нескольких файлов, находящихся в разных каталогах.

2.Создать один tar-архив для всех файлов, находящихся в каталоге.

3.Создать один tar-архив для всех файлов, находящихся в каталоге и подкаталогах.

4.Командой ls посмотреть объем полученных архивных файлов и убедиться, что программа tar не сжимает файлы.

5.Посмотреть список файлов, входящих в архив, а затем распаковать его.

6.Командой gzip, а затем bzip2 сжать один из архивов и посмотреть объѐм полученного файла.

7.Разархивировать полученный сжатый файл.

8.Удалить созданные подкаталоги и файлы в них, сохранив, однако, файл, созданный в задании 1.

2.4. Контрольные вопросы

1.С помощью какой программы можно поместить файлы в один архив? Опишите технологию еѐ использования.

10

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