Разработка под linux / подсказка к 2 задачке

Чтобы получить мета инфу файла

stat filename

выдаст что-то такое:

  Файл: index.html
  Размер: 18877         Блоков: 40         Блок В/В: 4096   обычный файл
Устройство: 802h/2050d  Инода: 1251        Ссылки: 1
Доступ: (0664/-rw-rw-r--)  Uid: ( 1000/       m)   Gid: ( 1001/       m)
Доступ:        2022-02-14 13:00:11.843496966 +0800
Модифицирован: 2022-02-14 13:00:11.843496966 +0800
Изменён:       2022-02-14 13:00:11.843496966 +0800
Создан:        -

Чтобы узнать inode файла воспользуйтесь следующим

stat -c "%i" file_name

чтобы получить список блоков, из которых состоит файл надо выполнить команду

sudo debugfs -R "blocks <file_inode_id>" 2>/dev/null /dev/sda2

чтобы вывести содержимое блока, например, с номером 68320 надо использовать следующую команду.

Чтобы вытащить содержимое конкретного блока надо использовать команду dd, у нее есть следующий набор параметров

то есть как-то так надо вызывать

sudo dd if=/dev/sda2 ibs=??? skip=??? count=1 2>/dev/null

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

sudo dd if=/dev/sda2 ibs=??? skip=??? count=1 2>/dev/null | hd

и получится вот так

кстати так как у вас будет список блоков, разделенных пробелом, то вам надо будет его обойти в цикле. Для этого просто сделайте цикл по переменной — вот так

for block in $blocks
do
    echo $block
done
2.2

[БОНУСНОЕ] Написать скрипт, который по имени файла выдаст отчет по inode и блокам из которых состоит файл, отчет должен выглядеть примерно так посмотреть