簡體   English   中英

使用DD遞歸寫入特定文件

[英]Use DD to write specific file recursively

我有一個我要覆蓋的硬盤驅動器,不是使用空字節,而是使用消息。

48 69 64 64 65 6e 20 =“隱藏”

到目前為止,這是我的命令:

echo "Hidden " > /myfile
dd if=/myfile of=/dev/sdb bs=1M

注意:我也嘗試過諸如count和conv之類的參數,但無濟於事

現在,這很好。 當我跑:

dd if=/dev/sdb | hexdump -C | less

我可以看到寫過的前幾個字節,但其余的都沒有改變。 我想以遞歸方式將“隱藏”寫入驅動器。

我沒有備用磁盤來試試這個,但你可以使用yes命令不斷將你的字符串推入管道

yes "Hidden" | dd of=/dev/sdb

我假設一旦dd編寫了整個磁盤,那么它將關閉管道並且此命令將完成。

以上將換行 - 分隔“隱藏”字符串。 如果你想要它以空格分隔,就像你可以做的問題一樣:

yes "Hidden" | paste -d' ' -s - | dd of=/dev/sdb

或者如果你想要以null分隔:

yes "Hidden" | tr '\n' '\0' | dd of=/dev/sdb

如果未指定if參數,則從stdin讀取輸入。 這允許你做這樣的事情:

dd of=/dev/sdb < for((i=0;i<100000;i++)); do echo 'Hidden '; done;

100000顯然需要至少為diskSizeInBytes / strlen('Hidden ')

鑒於后果我沒有為你測試這個,但它應該工作;)

dcfldd是dd的一個分支,它有一些你可能會覺得有用的附加功能。 例如,您的問題將通過以下方式解決:

dcfldd textpattern="Hidden " of=/dev/sdb bs=1M

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM