[英]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.