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

otchet6

.docx
Скачиваний:
19
Добавлен:
19.05.2015
Размер:
210.63 Кб
Скачать

Министерство образования и науки Российской Федерации

ГБОУ ВПО

Тверской государственный технический университет

Кафедра ЭВМ

Отчёт

по лабораторной работе №6

на тему

Интерпретатор командного языка shell ”

по дисциплине

“Сетевые операционные системы”.

Выполнили: студенты

группы ВМКСС-0903

Григорьевская Т.Ю.

Лапшинов Д. А.

Приняла: Полтавцева М. А.

Тверь

2013

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

Программа:

#!/bin/sh

PASS="qwerty"

if [ $1 = $PASS ]

then

ls -la /etc | more

fi

Результат запуска:

buba@buba-desktop:~/lr6$ sh 1 qwerty

total 1344

drwxr-xr-x 123 root root 4096 2013-09-30 13:03 .

drwxr-xr-x 20 root root 4096 2013-09-28 18:10 ..

drwxr-xr-x 8 root root 4096 2008-10-30 02:06 acpi

-rw-r--r-- 1 root root 2986 2008-10-30 01:54 adduser.conf

-rw-r--r-- 1 root root 45 2013-09-30 00:50 adjtime

drwxr-xr-x 2 root root 4096 2013-09-28 18:08 alternatives

-rw-r--r-- 1 root root 395 2008-09-03 03:37 anacrontab

drwxr-xr-x 7 root root 4096 2008-10-30 02:06 apm

drwxr-xr-x 2 root root 4096 2008-10-30 02:05 apparmor

drwxr-xr-x 6 root root 4096 2008-10-30 02:07 apparmor.d

drwxr-xr-x 3 root root 4096 2008-10-30 02:06 apport

drwxr-xr-x 4 root root 4096 2013-09-28 18:11 apt

-rw-r----- 1 root daemon 144 2008-07-10 19:01 at.deny

drwxr-xr-x 3 root root 4096 2008-10-30 02:11 avahi

-rw-r--r-- 1 root root 1733 2008-05-12 22:48 bash.bashrc

-rw-r--r-- 1 root root 216757 2008-06-19 23:18 bash_completion

drwxr-xr-x 2 root root 4096 2008-10-30 02:10 bash_completion.d

drwxr-xr-x 2 root root 4096 2008-10-30 01:53 belocs

-rw-r--r-- 1 root root 332 2008-09-29 13:20 bindresvport.blacklist

-rw-r--r-- 1 root root 309 2013-09-28 18:10 blkid.tab

drwxr-xr-x 2 root root 4096 2008-10-30 02:11 bluetooth

-rw-r--r-- 1 root root 6924 2008-06-19 07:52 bogofilter.cf

--More--

2. Проверить, существует ли файл. Если да, выводится на экран его содержимое, если нет - выдается соответствующее сообщение.

Программа:

#!/bin/sh

if [ -f $1 ] #-f файл - истина, если файл существует и является обычным файлом

then

more $1

else

echo "Не существует!"

fi

Результат запуска:

buba@buba-desktop:~/lr6$ sh 2 2

#!/bin/sh

if [ -f $1 ]

then

more $1

else

echo " Не существует!"

fi

buba@buba-desktop:~/lr6$ sh 2 3

Не существует!

buba@buba-desktop:~/lr6$

3. Если файл есть каталог и этот каталог можно читать, просматривается содержимое этого каталога. Если каталог отсутствует, он создается. Если файл не есть каталог, просматривается содержимое файла.

Программа:

#!/bin/sh

if [ -d $1 ] #-d файл - истина, если файл существует и является директорией

then

if [ -r $1 ] #-r файл - истина, если файл существует и доступен для чтения

then

ls -la $1

else

echo Нельзя читать каталог

fi

else

if [ -f $1 ] && [ -r $1 ]

then

more $1

else

mkdir -p $1 # make parent directories as needed

fi

fi

Результат запуска:

buba@buba-desktop:~/lr6$ sh 3 2

#!/bin/sh

if [ -f $1 ]

then

more $1

else

echo "Не существует!"

fi

buba@buba-desktop:~/lr6$ sh 3 dir1

total 8

drwxr-xr-x 2 buba buba 4096 2013-09-30 13:38 .

drwxr-xr-x 3 buba buba 4096 2013-09-30 13:46 ..

-rw-r--r-- 1 buba buba 0 2013-09-30 13:38 1

-rw-r--r-- 1 buba buba 0 2013-09-30 13:38 2

buba@buba-desktop:~/lr6$ sh 3 dir2

buba@buba-desktop:~/lr6$

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

Программа:

#!/bin/sh

if [ -r $1 ] #-r файл - истина, если файл существует и доступен для чтения

then

if [ -w $2 ] #-w файл - истина, если файл существует и доступен для

записи

then

cat $1 >> $2

else

echo Файл $2 не существует, либо не используется для записи

fi

else

echo Файл $1 не существует, либо не используется для чтения

fi

Результат запуска:

Случай 1. Оба файла открыты для чтения и записи (read and write permissions)

buba@buba-desktop:~/lr6$ sh 4 4-1 4-2

buba@buba-desktop:~/lr6$ sh 4 4-2 4-1

Случай 2. Один из файлов доступен для чтения и записи, а другой доступен только для чтения (read-only permission).

Тогда при запуске получаем ошибку.

buba@buba-desktop:~/lr6$ sh 4 4-2 4-3

Файл 4-3 не существует, либо не используется для записи.

Аналогично с отсутствием прав для чтения.

Случай 3. Один из файлов не существует.

Тогда при запуске получаем ошибку.

buba@buba-desktop:~/lr6$ sh 4 4-2 4-4

Файл 4-4 не существует, либо не используется для записи

buba@buba-desktop:~/lr6$ sh 4 4-4 4-1

Файл 4-4 не существует, либо не используется для чтения

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