mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      FSDB(1M)                                               FSDB(1M)

      НАЗВАНИЕ
      	fsdb - отладчик файловых систем

      СИНТАКСИС
              /etc/fsdb  файловая_система [-]

      ОПИСАНИЕ
      	Отладчик fsdb обычно используется для исправления  фай-
      	ловой  системы, испорченной в результате аварии. Отлад-
      	чик может преобразовывать номера  блоков  и  описателей
      	файлов в соответствующие дисковые адреса. Для доступа к
      	отдельным  полям  описателей файлов существуют мнемони-
      	ческие обозначения. Все это сильно упрощает исправление
      	управляющей информации или обход дерева файлов.

      	Файловая_система задается именем содержащего ее  специ-
      	ального файла.

      	Отладчик  использует несколько подпрограмм для контроля
      	корректности адресов блоков и описателей файлов. В  ка-
      	честве  основы  для  проверок из суперблока извлекаются
      	размер в блоках списка описателей  файлов  и  размер  в
      	блоках  всего  тома.  При  необходимости контроль можно
      	отключить, если при вызове fsdb указать  опцию  -,  или
      	воспользоваться командой O (см. ниже).

      	По умолчанию числа считаются десятичными.  Восьмеричные
      	числа должны начинаться с нуля. Во время любой операции
      	присваивания  проверяется, не отбрасываются ли значащие
      	цифры из-за несоответствия типов левой и правой частей.

      	Отладчик fsdb читает данные порциями размером в блок и,
      	следовательно, может работать как с бесструктурным, так
      	и с блочным вводом/выводом. Для уменьшения  числа  сис-
      	темных вызовов чтения используются буфера, хранящие на-
      	иболее  часто  используемые  блоки данных. Все операции
      	присваивания приводят к немедленной записи  измененного
      	блока.

      	Отладчик fsdb распознает следуюшие символы:

      	#    Абсолютный адрес.

      	i    Преобразование номера описателя файла в адрес опи-
      	     сателя.

      	b    Преобразование в адрес блока.

      	d    Смещение элемента каталога.

      	+, - Адресная арифметика.

      	q    Выход.

      	>, < Сохранение/восстановление адреса

      	=    Числовое присваивание.

      	=+   Присваивание с увеличением.

      	=-   Присваивание с уменьшением.

      	="   Присваивание цепочки символов.

      	O    Включение/выключение  контроля  корректности адре-
      	     сов.

      	p    Общее средство печати.

      	f    Средство печати файлов.

      	B    Байтный режим.

      	W    Полусловный режим.

      	D    Словный режим (слово считается 32-битным).

      	!    Вызов shell'а.

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

      	i    Печатать как описатели файлов.

      	d    Печатать как каталоги.

      	o    Печатать как восьмеричные слова.

      	e    Печатать как десятичные слова.

      	c    Печатать как символы.

      	b    Печатать как восьмеричные байты.

      	Символ f используется для печати блоков данных, ассоци-
      	ированных с текущим описателем файла. Если за  символом
      	f  следует  число,  то печатается указанный блок файла.
      	Блоки нумеруются, начиная с нуля. Буква необходимой оп-
      	ции печати идет за номером блока, если он есть, или не-
      	посредственно за символом f. Данное средство печати ра-
      	ботает для файлов произвольного размера. При этом  про-
      	веряется,  не  является ли файл специальным, и не равны
      	ли нулю указатели блоков, используемые для поиска  дан-
      	ных.

      	Точки, табуляции и пробелы можно использовать в качест-
      	ве  разделителей функций, что, впрочем, не обязательно.
      	Строка с единственным символом перевода строки увеличит
      	текущий адрес на размер выведенного последним  элемента
      	данных.  Тем  самым  адрес устанавливается на следующий
      	байт, полуслово, слово, элемент каталога или  описатель
      	файла, это позволяет перемещаться по однородным элемен-
      	там  файловой  системы. Информация выводится в формате,
      	соответствующем типу данных. Байты, полуслова  и  слова
      	изображаются следующим образом: сначала идет восьмерич-
      	ный  адрес, а за ним значение в восьмеричном и десятич-
      	ном виде. Окончания .B или .D добавляются соответствен-
      	но к адресам байтных или словных величин. Каталоги  вы-
      	водятся так: сначала смещение элемента каталога, за ним
      	десятичный номер описателя файла и символьное представ-
      	ление имени элемента. Описатели файлов выводятся с пои-
      	менованными полями:

      	md   Режим доступа.

      	ln   Число ссылок.

      	uid  Числовой идентификатор владельца.

      	gid  Числовой идентификатор группы.

      	sz   Размер файла в байтах.

      	a#   Номера блоков данных (0-12).

      	at   Время последнего доступа.

      	mt   Время последней модификации.

      	ct   Время последнего изменения описателя.

      	maj  Старший номер устройства.

      	min  Младший номер устройства.

      ПРИМЕРЫ
      	1. Вывести описатель файла с  номером  3689.  Описатель
      	3689 становится текущим:

      	     3689i

      	2.  Присвоить  4  полю  числа ссылок текущего описателя
      	файла:

      	     ln=4

      	3. Увеличить на 1 поле числа ссылок:

      	     ln=+1

      	4. Вывести в текстовом формате нулевой блок файла,  ас-
      	социированного с текущим описателем:

      	     fc

      	5. Вывести первые 32 элемента корневого каталога данной
      	файловой системы:

      	     2i.fd

      	6.  Сделать  текущим  описатель,  ассоциированный с 5-м
      	элементом каталога (нумерация с 0), найденным по преды-
      	дущей команде. Затем первый логический блок этого файла
      	вывести в текстовом виде:

      	     d5i.fc

      	7. Вывести суперблок данной файловой системы в  восьме-
      	ричном виде:

      	     512B.p0o

      	8. Присвоить 3 номеру описателя файла для седьмого эле-
      	мента  корневого каталога. Пример также показывает, как
      	в одной строке задать несколько операций:

      	     2i.a0b.d7=3

      	9. Поле имени в элементе каталога заменить  на  цепочку
      	символов  name. При использовании nm двойные кавычки не
      	обязательны, если первый символ является буквой:

      	     d7.nm="name"

      	10. Вывести третий блок файла, ассоциированного с теку-
      	щим описателем, в формате элементов каталога:

      	     a2b.p0d

      СМ. ТАКЖЕ
      	fsck(1M).
      	dir(4), fs(4) inode(4) в Справочнике программиста.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк