Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Rwxr-xr-x 1 root root 6537 Апр 25 2003 dmesg




Rwxr-xr-x 1 root root 38648 Май 4 2003 df

Rwxr-xr-x 1 root root 35496 Май 4 2003 dd

Rwxr-xr-x 1 root root 45838 Май 4 2003 date

Rwxr-xr-x 1 root root 26305 Май 4 2003 cut

Rwxr-xr-x 1 root root 63871 Апр 29 2003 cpio

Rwxr-xr-x 1 root root 57792 Май 4 2003 cp

Rwxr-xr-x 1 root root 26124 Май 4 2003 chown

Rwxr-xr-x 1 root root 23999 Май 4 2003 chmod

Rwxr-xr-x 1 root root 19812 Май 4 2003 cat

Rwxr-xr-x 1 root root 626028 Апр 26 2003 bash

Rwxr-xr-x 1 root root 15643 Май 4 2003 basename

Rwxr-xr-x 1 root root 4594 Апр 25 2003 arch

131542 lrwxrwxrwx 1 root root 4 Мар 18 17:29 awk -> gawk

131334 lrwxrwxrwx 1 root root 4 Мар 18 17:29 sh -> bash

131552 lrwxrwxrwx 1 root root 8 Мар 18 17:30 domainname

 

Рис. 4.13. Фрагмент каталога /bin, отображенный командой ls –ali

 

Каталог, по сути, представляет собой таблицу, каждая строка (запись) которой имеет переменную длину и состоит из 5 полей:

· индексный дескриптор файла длиной 4 байта,

· длина записи ­2 байта,

· длина имени файла ­1 байт,

· тип файла длиной­ 1 байт. В отличие от соответствующего байта в индексном дескрипторе обычный файл здесь обозначается цифрой 1, каталог – 2, символическая ссылка – 7,

· имя файла в ASCII-кодировке. Имя файла имеет переменную длину, дополненную нулями до 4–байтной границы.

 

На рис. 4.14 представлен фрагмент блока данных каталога /bin.

 

0x40203000 01 01 02 00 0C 00 01 02: 2E 00 00 00 02 00 00 00................

0x40203010 0C 00 02 02 2E 2E 00 00: 06 01 02 00 0C 00 02 07................

0x40203020 73 68 00 00 05 01 02 00: 0C 00 04 01 62 61 73 68 sh..........bash

0x40203030 B5 01 02 00 18 00 08 01: 62 61 73 65 6E 61 6D 65........basename

0x40203040 39 39 35 66 34 34 34 00: 04 01 02 00 10 00 06 01 995f444.........

0x40203050 6D 6B 74 65 6D 70 00 00: 03 01 02 00 10 00 05 07 mktemp..........

0x40203060 62 61 73 68 32 00 00 00: B2 01 02 00 10 00 05 01 bash2...........

0x40203070 65 67 72 65 70 00 00 00: B3 01 02 00 10 00 05 01 egrep...........

0x40203080 66 67 72 65 70 00 00 00: B4 01 02 00 0C 00 04 01 fgrep...........

0x40203090 67 72 65 70 B7 01 02 00: 14 00 05 01 63 68 67 72 grep........chgr

0x402030A0 70 30 35 39 39 35 66 34: B6 01 02 00 0C 00 03 01 p05995f4........

0x402030B0 63 61 74 00 E0 01 02 00: 18 00 0D 07 64 6E 73 64 cat.........dnsd

0x402030C0 6F 6D 61 69 6E 6E 61 6D: 65 66 34 00 B8 01 02 00 omainnamef4.....

0x402030D0 10 00 05 01 63 68 6D 6F: 64 00 00 00 B9 01 02 00....chmod.......

0x402030E0 10 00 05 01 63 68 6F 77: 6E 00 00 00 BA 01 02 00....chown.......

0x402030F0 0C 00 02 01 63 70 00 00: BB 01 02 00 0C 00 03 01....cp..........

 

Рис. 4.14. Дамп блока данных, содержащего каталог /bin

Проанализируем информацию, содержащуюся в нескольких начальных записях.

Первые 4 байта записи 1 дают число 00 02 01 01h = 131329, что совпадает с номером inode каталога /bin. Следующие два байта 00 0Ch = 12 определяют длину записи в байтах. Третье поле содержит байт 01h = 1, указывая на то, что имя каталога состоит из одного символа. Действительно, имя каталога обозначено одним символом – точкой. Четвертое поле – 02h = 2 – указывает на то, что это – каталог. Точке, которой обозначено имя файла, соответствует байт 2Eh. Оставшиеся три байта являются нулями и представляют собой дополнение до 4-байтной границы.

Запись 2 начинается 4-байтным числом 00 00 00 02h = 2, что является номером индексного дескриптора родительского (корневого) каталога. Длина этой записи также равна 00 0Ch = 12 байт. Третье поле: байт 02h – дает нам длину имени каталога (имя родительского каталога – две точки). Четвертое поле 02h – тип файла (каталог). Имя файла: две точки – соответствует двум байтам 2E 2Eh. Еще два байта заполнения 00 00h завершают эту запись.

Индексный дескриптор файла в третьей записи ­ 00 02 01 06h = 131334, что соответствует inode символической ссылки sh на командный интерпретатор bash (третья строка сверху на рис. 4.14). Имя этого файла тоже короткое, и длина записи по-прежнему составляет 12 байт. Третье поле: байт 02h определяет длину имени файла. Тип файла (четвертое поле) равен 07h, что соответствует символической ссылке. Наконец, байты 68 73h последнего поля в ASCII-кодировке соответствуют символам имени файла sh. Приведенных примеров вполне достаточно, чтобы произвести разбор любой записи с любого ее конца.

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

 




Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 454; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.