Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

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) в Справочнике программиста.

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...