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

3.6. Проект 2: Написание версии Is -I

Мы уже заметили, что команда Is выполняет два вида действий: выводит список содержимого каталогов, а также отображает статусную информацию о файлах. Далее мы увидели, что эти два аспекта не связаны между собой. В каталоге содержатся не только имена файлов. Нахождение и отображение статусной информации о файлах - это отдельный сложный проект. Мы будем его реализовывать, отвечая на три стандартных вопроса.

3.6.1. Вопрос 1: Что делает Is-I?

Рассмотрим вывод команды:

total 108

- rw-rw-r- 2 bruce users 345 Jul 29 11.05 Makefile

-rw-rw-r- 1 bruce users 27521 Aug 1 12:14 chap03

drwxrwxr-x 2 bruce users 1024 Aug 1 12:15 docs

-rw-r--r-- 1 bruce users 723 Feb 9 1998 Is1 .c

-rw-r-r- 1 bruce users 3045 Feb 15 03:51 Is2.c

drwxrwxr-x 2 bruce users 1024 Aug 1 12:14 old_src

-rw-rw-r-- 1 bruce users 30720 Aug 1 12:05 s.tar

-rw-r-r- 1 bruce support 946 Feb 18 17:15stat1.c

-rw-r-r- 1 bruce support 191 Feb 9 1998 statdemo.c

-rwxrwxr-x 1 bruce users 37351 Aug 1 12:13 tail 1

-rw-r-r- 1 bruce users 1416Aug 1 12:05 taiH.c

-rw-r-r- 1 cse215cscie215574Feb9 1998 writable.c

$

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

Режим. Первый символ в каждой строке предназначен для обозначения шипа файла, И Символ "-" показывает, что это обычный файл, а символ "d" показывает, что это каталог. Есть еще и другие типы файлов. Вы должны еще немного изучить свойства и возможности! Unix с тем, чтобы было понятно назначение других типов файлов.

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

Собственник. Каждый файл принадлежит пользователю собственнику. В данной колонке указывается пользовательское имя собственника.

Группа. Каждый файл принадлежит также группе пользователей. В ряде версий команды Is в колонке указывается имя группы.

Размер. В пятой колонке находится целое число, которое обозначает число байтов в файле. Заметим, что в этой колонке каталоги в нашем примере имеют один и тот же размер.

Память под каталоги выделяется блоками, поэтому размер каталога всегда кратен 512.

(Это зависит от конкретной версии Unix. Так, в HP UX под каталог выделяются блоки размером 1024 байта.

Примеч.ред.) Для обычных файлов размер указывается в количестве нов данных, которые хранятся в этом файле.

Время последней модификации. Следующее поле состоит из трех подстрок, где размеща­ется время последней модификации. Для сравнительно новых файлов в подстроки заносится месяц, день и время. Для более старых файлов заносится месяц, день и год. Почему такие отметки будут полезны в системе? Насколько должен быть "старым" файл, чтобы выводить в колонку год, а не время?

Имя. В этой колонке изображается имя файла.