1

Я хочу использовать команду dd, чтобы записать один файл в любое место на жестком диске, а затем прочитать тот же файл из этого места. Мне нужно быть независимым от любой файловой системы или разделов. Кажется, сделать это нелегко. Предпосылки:

  1. Для этого мне нужно иметь возможность перемещаться по жесткому диску. Компас будет сектора, скажем, 1 сектор = 512b
  2. Размер файла, скажем, 150b. Простой текстовый файл.
  3. Я хочу написать этот файл, начиная с сектора 2099200.

Я попробовал это:

sudo dd if = my.txt из =/dev/sdb obs = 512 seek = 2099199

sudo dd if =/dev/sdb of = my.txt obs = 150 count = 1 ibs = 512 skip = 2099199

но это не работает, потому что я не могу заставить его читать только 150b, из-за количества ibs, которое составляет 512b. Мне нужен этот счетчик для удобной навигации по жесткому диску, поэтому он должен быть 512b

Есть ли простой способ справиться с этим делом с помощью dd, или может быть есть другая команда или способ сделать это? Мне нужно быть независимым от любых файловых систем и разделов.

1 ответ1

0

Вы можете использовать его для поиска bytes (2099199*512) не считая bs .

dd if=your.txt of=/dev/sdb count=1 bs=150 oflag=seek_bytes seek=1074789888 

а также

dd if=/dev/sdb of=your.txt count=1 bs=150 iflag=skip_bytes skip=1074789888 

См man dd .


Тогда как насчет:

dd if=your.txt of=/dev/sdb bs=1 count=150 seek=1074789888 

а также

dd if=/dev/sdb of=your.txt bs=1 count=150 skip=1074789888 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .