.

Тектовый редактор VI. ОС UNIX …

Язык: русский
Формат: реферат
Тип документа: Word Doc
74 700
Скачать документ

Министерство общего и профессионального образования РФ

Московский Государственный Университет

Экономики, Статистики и Информатики

Кафедра открытых систем

Лабораторная работа

по предмету: “Открытые системы”

Выполнил студент группы ДИ-201: Горшков А.В.

Руководитель: Кондратьев В.К.

Москва 1999г

Лабораторная работа №1

Регистрация в системе. Изучение синтаксиса команд ОС UNIX. Изучение
структуры файловой системы. Команды управления файловой системой.

Цель работы: изучение и закрепление навыков взаимодействия с
операционной системой UNIX – регистрация в системе, изучение синтаксиса
команд, изучение команд для работы с файлами.

1.зарегистрироваться в системе;

2.проверить свое регистрационное имя, номер собственного терминала и
дату регистрации;

3.выяснить, кто еще зарегистрировался в системе;

4.выяснить полное имя вашего регистрационного (домашнего) каталога;

5.вывести содержимое домашнего каталога;

6.создать в домашнем каталоге два каталога dd1 и dd2;

7.записать в каталог dd1 файлы f1 и f2 и определить индексы созданных
файлов и каталогов;

8.заполнить файлы текстом;

9.скопировать файл f1 в каталог dd2;

10.переместить файл f2 в каталог dd2;

11.выяснить индексы файлов f1 и f2 в каталоге dd2;

12.найти в дереве системы файл с именем profile; выполнить поиск в
фоновом режиме, дать объяснение понятию фоновый режим;

13.найти файл с именем . profile, объяснить его назначение;

14.вывести содержимое файла . profile;

15.определить индекс корневого каталога системы.

1.Перед выполнением лабораторной работы следует подробно ознакомиться с
командами man, who, tty, id, pwd, командами управления файловой системой
ls, mkdir, cp, mv, cat , find, pg, rmdir и rm.

2.Следует обратиться к рекомендованной литературе и встроенному
руководству (команда man).

3.При выполнении пунктов 6-10 задания обратить внимание на используемые
опции команд, объяснить зависимость результатов от указанных опций.

4.В задании 11 обратить внимание на синтаксис команды: в качестве опций
в команде используются ключевые слова, например, -name или -print.

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

6.В задании 13 дать объяснение назначению файла .profile.

7.В задании 14 найти индекс корневого каталога системы и объяснить его
значение.

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

$man [имя команды о которой нужна справка]

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

1. Зарегистрироваться в системе:

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

Результат: регистрация в системе.

2. Проверить свое регистрационное имя, номер собственного терминала и
дату регистрации:

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

$ logname

В ответ мы получим:

di2016 – свое регистрационное имя.

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

$ tty

В ответ мы получим номер своего терминала( /dev/pts013).

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

$ who

Получим сведения о пользователях, находящихся в системе.

Root pts000 apr 17 07:58

Di2015 pts010 apr 17 08:05

Di2011 pts002 apr 17 08:09

Di2016 pts013 apr 17 08:16

Результат: получаем сведения которые нас интересовали, а именно,
регистрационное имя, номер терминала и дату регистрации.

3. Выяснить, кто еще зарегистрировался в системе:

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

$ who

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

Результат: информация о пользователях, находящихся в сети.

4. Выяснить полное имя вашего регистрационного каталога:

Если мы находимся в домашнем каталоге, то выяснить свой домашний каталог
можно двумя способами:

Командой $ cd

Командой $ pwd

Результат: получим имя домашнего каталога (/home/di2016).

5. Вывести содержимое домашнего каталога:

Просмотр содержимого домашнего каталога можно осуществить при помощи
следующей команды:

$ ls

file file1 forurik privet

Результат: выводится содержимое домашнего каталога.

6. Создать в домашнем каталоге два каталога dd1 и dd2:

Необходимо воспользоваться командой, формат которой – следующий:

$ mkdir dd1

$ mkdir dd2

Результат: в текущем каталоге создадутся два подкаталога с именами dd1 и
dd2.

7. Записать в каталог dd1 файлы f1 и f2 и определить индексы созданных
файлов и каталогов:

Для начала, можно сделать каталог dd1 текущим, чтобы избежать
необходимости указания пути:

$ cd dd1

Теперь, с помощью команды pwd, можно убедиться в том, что каталог dd1
стал текущим:

$ pwd

В результате мы получим /home/di2016/dd1. Действительно, каталог dd1
стал текущим. Далее создадим два файла:

>f1

>f2

С помощью команды ls можно проверить наличие файлов f1 и f2 в каталоге
dd1.

Определим индексы созданных файлов и каталогов:

$ ls –i

20113 f1 20114 f2

Результат: все требования данного пункта задания выполнены.

8. Заполнить файлы текстом:

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

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

$ cat >>f1 – вводим текст

$ pg f1 – просматриваем файл (текст присутствует)

Результат: в файл был добавлен текст.

9. Скопировать файл f1 в каталог dd2:

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

$ cp f1 ../dd2

Проверим наличие файла f1 в каталоге dd2:

$ ls ../dd2

$ pwd ../dd2 – смотрим наличие файла

f1

Результат: файл f1 скопирован в каталог dd2.

10. Переместить файл f2 в каталог dd2:

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

$ mv f2 ../dd2

Проверим наличие файла f2 в каталоге dd2:

$ ls ../dd2

$ pwd ../dd2 – смотрим наличие файла

f1 f2

Результат: файл f2 перемещен в каталог dd2.

11. Выяснить индексы файлов f1 и f2 в каталоге dd2:

Для этого необходимо запустить команду:

$ ls –i ../dd2

Получим индексы файлов, находящихся в каталоге dd2, среди которых найдем
индексы файлов f1 и f2.

20120 f1 (изменился потому, что добавили текст) 20114 f2

Результат: получены индексы файлов.

12. Найти в дереве системы файл с именем profile; выполнить поиск в
фоновом режиме, дать объяснение понятию фоновый режим:

Фоновый режим – режим запуска процессов параллельно командному
интерпретатору shell.

Для выполнения задания воспользуемся командой:

$ find / -name profile -print &

& – запуск в фоновом режиме (параллельно командному процессору)

1090

Результат: найденный файл выводится на экран.

13. Найти файл с именем . profile, объяснить его назначение:

Воспользуемся командой $ find.

$ find /home/di2016/ -name .profile – поиск данного файла.

1410

Результат: найден файл .profile.

14. Вывести содержимое файла . profile:

Вывести содержимое файла можно, воспользовавшись командой cat и page.
$cat – выводит содержимое файла на экран. $pg – выводит на экран весь
файл или его части.

$ cat .profile

$pg .profile

Результат:

$cat .profile – выведет содержимое файла на экран.

$page .profile – выводит содержимое файла на экран.

15. Определить индекс корневого каталога системы:

Для определения индекса корневого каталога системы нужно выполнить
команду $ls с определенными параметрами.

$ ls –i /

Результат: список индексов всех каталогов (включая корневой) и файлов
корневого каталога.

пятница, 16 Апреля 1999 г.

Лабораторная работа №2

Защита файлов в ОС UNIX. Права доступа. Права доступа по умолчанию.
Команды управления правами доступа.

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

1. Создать в домашнем каталоге каталоги с именами dir5, dir6, dir7;

2. Проверить права доступа к созданным каталогам;

3. В каталоге dir5 создать файл dt , содержащий слово date (используя
команду cat > dir5/dt);

4. Проверить права доступа к каталогу dir5;

5. Отобрать у каталога dir6 право на запись;

6. Сделать попытку копирования файла dt в каталог dir6, объяснить
результат;

7. Скопировать файл dt в каталог dir7, объяснить результат;

8. Отобрать у каталога dir7 все права доступа;

9. Сменить текущий каталог на домашний, выполнить поиск файла dt ,
объяснить результат;

10. Установить право доступа на исполнение каталогу dir7, повторить
пункт 9, объяснить результат.

Следует обратить внимание на права доступа, создаваемые по умолчанию.
Для объяснения их установки следует сослаться на функции и формат
команды umask.

Создать в домашнем каталоге каталоги с именами dir5, dir6, dir7:

$ mkdir dir5

$ mkdir dir6

$ mkdir dir7

Результат: Создались три каталога.

Проверить права доступа к созданным каталогам:

$ ls –la

drwxr-xr-x 2 di2016 other 96 Apr 17 09:24 dir5

drwxr-xr-x 2 di2016 other 96 Apr 17 09:25 dir6

drwxr-xr-x 2 di2016 other 96 Apr 17 09:25 dir7

Результат: Права доступа: владелец каталога – полный доступ,
пользователи группы di201 – запуск и чтение, всем остальным – запуск.

3. В каталоге dir5 создать файл dt , содержащий

слово date (используя команду cat > dir5/dt):

$ cat >dir5/dt

date

Результат: Файл создался, данные внесены.

Проверить права доступа к каталогу dir5:

$ ls -l

drwxr-xr-x

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

5. Отобрать у каталога dir6 право на запись:

$ chmod a-w dir6

dr-xr-xr-x

Результат: Всем категориям (a) пользователей запрещена запись.

6. Сделать попытку копирования файла dt в каталог dir6, объяснить
результат:

$ cp dir5/dt dir6

Результат: Выдается ошибка. Нельзя записывать в dir6.

7. Скопировать файл dt в каталог dir7, объяснить результат:

$ cp dir5/dt dir7

Результат: Файл скопирован потому, что разрешен доступ к файлу и
каталогу.

8. Отобрать у каталога dir7 все права доступа:

$ chmod a-rwx dir7

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

9. Сменить текущий каталог на домашний, выполнить поиск файла dt ,
объяснить результат:

$ find . –name dt -print

Результат: Ошибка. Нельзя считывать из dir7. Нет доступа.

10. Установить право доступа на исполнение каталогу dir7, повторить
пункт 9, объяснить результат:

$ chmod a+x dir7

$ find . -name dt –print

Результат: Установлено право на запуск, но при поиске выдается ошибка:
“Нельзя считывать из dir7. Нет доступа”.

вторник, 20 Апреля 1999 г.

Лабораторная работа №3

Текстовый редактор vi. Создание и сохранение файлов. Основные режимы
работы. Назначение и функции командного режима. Назначение и функции
режима редактирования.

Цель работы: изучение и закрепления студентами навыков использования
основных команд экранного редактора vi.

1. Скопировать файл /etc/passwd в Ваш входной каталог

2. Вставить перед первой строкой следующую строку:

# file /etc/passwd

3. Вставить после строки с вашим регистрационным именем следующую
строку:

user00:x:0:1:superuser:/home/user00:/sbin/ksh

4. Изменить GID в вашей строке и в следующих 3 строках на 100.

Для выполнения задания 1 выполните следующие команды:

cd

cp /etc/passwd passwd

chmod u+w passwd

В задании 2 установить курсор на первую строку, и с помощью команды “O”
ввести текст.

В задании 3 установить курсор на соответствующую строку, и с помощью
команды “o” ввести текст.

Для выполнения задания 4 установить курсор на соответствующую строку
(начинающуюся с вашего регистрационного имени) и первую цифру GID;
командой cw100 изменить GID. Установить курсор на следующую строку
(идентификатор пользователя) и цифру GID и повторить команду с помощью
“.”. Выполнить аналогичные действия для других строк.

Скопировать файл /etc/passwd в свой входной каталог:

$ cp /etc/passwd passwd – копирование файла в текущий каталог

Результат: Скопирован файл passwd.

Вставить перед первой строкой следующую строку:

# file /etc/passwd:

Перед тем, как редактировать файл, необходимо установить соответствующий
доступ (w):

$ chmod u+w passwd

$ vi passwd

О – пустая строка для текста (над текущей).

Результат: Курсор передвинули к началу экрана, вставили необходимую
строчку (нажимаем i для вставки).

Вставить после строки с вашим регистрационным именем следующую строку:

user00:x:0:1:superuser:/home/user00:/sbin/ksh

о – пустая строка для текста (под текущей).

Результат: Нашли свою регистрационную строчку, вставили новую
(требуемую).

4. Изменить GID в вашей строке и в следующих 3 строках на 100:

cw100

cw100

cw100

Результат: Устанавливаем курсор, нажимаем cw (при этом старые данные
удаляются) и вводим новое значение и esc (для выхода в командный
интерфейс).

Лабораторная работа №4

Процессы. Порождение процессов. Процессы родители и процессы-потомки.
Взаимодействие процессов.

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

1. Определить номер процесса вашей стартовой программы shell;

2. Завершить свой стартовый процесс shell командой kill;

3. Какие процессы выполняются под управлением пользователя (любого из

зарегистрировавшихся в системе)?;

4. Выполнить следующую команду:

sleep 3600 &

запомнить выданный номер процесса PID;

5. Завершить фоновый процесс (sleep) командой kill. Объяснить результат
(номер процесса (PID) берется из задания 4);

6. Создайть конвейер из команд cat /etc/passwd и nl. Объяснить принцип
взаимодействия процессов и причину вывода результата выполнения команды
nl на терминал пользователя;

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

Для выполнения задания 3 выполнить команду:

ps -fu имя_пользователя;

В задании 4 использовать команду ps -fu имя_пользователя.

Определить номер процесса вашей стартовой программы shell;

$ sh – запускаем процесс

$ ps – смотрим, что запущено:

PID CLS PRI TTY TIME COMD

2078 TS 70 pts009 0:00 sh

данные

данные

Результат: Показывает процессы, которые запущены на данный

момент.

Завершить свой стартовый процесс shell командой kill;

$ kill –s 9 2078

запустив команду ps можно убедиться в том, что процесс shell завершен.

Результат: Процесс shell завершен.

Какие процессы выполняются под управлением пользователя (любого из
зарегистрировавшихся в системе)?;

$ ps -fu di2016

UID PID PPID CLS PRI C STIME TTY TIME COMD

Di2016 1402 1400 TS 80 0 12:51:10 pts/5 0:00 sh

Результат: Показывает, какие процессы запущены пользователем di2016.

4. Выполнить следующую команду:

sleep 3600 &

запомнить выданный номер процесса PID;

$ sleep 3600 &

2342

Результат: Задержка для команды по указанному PID на указанное
количество секунд.

Завершить фоновый процесс (sleep) командой kill. Объяснить результат
(номер процесса (PID) берется из задания 4);

$ kill –s 9 2342

Результат: процесс sleep был завершен командой kill.

Создайть конвейер из команд cat /etc/passwd и nl. Объяснить принцип
взаимодействия процессов и причину вывода результата выполнения команды
nl на терминал пользователя;

$ cat /etc/passwd|nl

Root:x:0:3:0000-Admin(0000):/:/sbin/sh

152 di2016:x:431:1::/home/di201:/usr/bin/sh

Результат: Вывод файла на экран с нумерацией строк.

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

$ who|nl

1 root console Apr 17 11:05

2 di2011 pts004 Apr 17 11:16

3 di20111 pts009 Apr 17 12:34

4 di2016 pts003 Apr 17 12:43

Результат: Вывод информации о том, кто находится в сети с нумерацией
строк.

Лабораторная работа №5

Использование команд операционной системы UNIX.

Цель работы: изучение и закрепления студентами навыков работы с ОС.

Перейдите в каталог “/etc”.

1.Укажите шаблоны, которые подходят для следующих имен файлов:

1) всех имен

2) всех имен, которые начинаются с “.”

3) всех имен, которые начинаются с “.c”

4) всех имен, которые начинаются с “a” и оканчиваются на “.f”

5) всех имен, которые оканчиваются не на “v”, “w”, “x”, “y” или “z”

6) всех имен, которые состоят из трех строчных букв

7) всех имен, которые содержат, по крайней мере, одну гласную букву

8) все элементы, которые начинаются с буквы и имеют длину в два символа.

Что происходит, если shell не находит подходящего элемента?

Перейдите в каталог “/etc”.

1.Укажите шаблоны, которые подходят для следующих имен файлов:

$ cd /

$ cd etc

$ ls

Результат: все файлы в каталоге.

$ echo .*

Результат: . .. .pwd.lock

$ ls .c*

Результат: файлы с комбинацией “.с” отсутствуют в данном каталоге.

$ ls a*.f

Результат: файлы с комбинацией “a*.f” отсутствуют в данном каталоге. Где
* – заменяет символ, группу символов или их отсутствие.

$ echo *[a-u]

Результат: выведен список файлов.

$ echo [a-z][a-z][a-z]

Результат: выведен список файлов.

$ echo *[aeiouy]*

Результат: выведен список файлов.

$ echo [a-z]?

Результат: выведен список файлов. ? – один символ.

Что происходит, если shell не находит подходящего элемента?

Если используется команда echo, то выводится сам шаблон. Если
используется команда ls, то выводится сообшение: «файлы не найдены».

$ logname – вывод системного идентификатора пользователя.

$ tty – вывод информации о терминале, соединенном со стандартным вводом.

$ who – вывод списка пользователей подключенных в данный момент к
системе, даты и времени входа каждого пользователя в систему.

$ pwd – вывод имени текущего каталога (выведет регистрационный каталог,
если мы в нем находимся).

$ cd – делает указанный каталог текущим рабочим каталогом.

$ pwd – вывод имени каталога в котором мы находимся.

$ cd – при вводе $cd делает домашний каталог текущим.

$ ls – при вводе без параметров выдаст список файлов и подкаталогов
текущего каталога.

$ mkdir – создание нового каталога (каталогов).

$ cat – выводит содержимое файла на экран.

$ сat – >>f1 – вся информация, вводимая с клавиатуры, будет записана в
файл. Завершение работы – ctrl-d.

$ сat – >>f2 – вся информация, вводимая с клавиатуры, будет записана в
файл f2.

$ cp – копирование содержимого файла в файл с другим именем либо в
другой каталог с сохранением существующего имени файла, всех файлов
одного каталога в другой каталог.

$ mv – переименование файла или перемещение одного или нескольких файлов
в другой каталог.

$ mv f2 …/dd2 – эта команда перемещает указанный файл в указанный
каталог.

$ ls –i – при вводе с параметром –i – вывод индексов файлов.

$ find – поиск файлов. Параметр –name – поиск файлов с указанным именем.
Параметр –print – вывод имен найденных файлов на экран, этот параметр
обязателен, если пользователь хочет увидеть результат поиска.

$ find –name profile –print – вывод на экран найденных файлов.

$ page – выводит на экран весь файл или его части.

PAGE 1

PAGE 15

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Ответить

Курсовые, Дипломы, Рефераты на заказ в кратчайшие сроки
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020