得到的/ dev /一個等效您可以使用如何在Linux下
dd if=/dev/zero of=file count=1024 bs=1024
零填充文件。
而不是我想填寫一個文件。我怎麼做?
沒有/ dev/one文件,所以我如何通過bash shell來模擬該效果?
得到的/ dev /一個等效您可以使用如何在Linux下
dd if=/dev/zero of=file count=1024 bs=1024
零填充文件。
而不是我想填寫一個文件。我怎麼做?
沒有/ dev/one文件,所以我如何通過bash shell來模擬該效果?
試試這個:
dd if=<(yes $'\01' | tr -d "\n") of=file count=1024 bs=1024
替代$'\377'
或$'\xFF'
如果你希望所有的位是的。
tr '\0' '\377' < /dev/zero | dd bs=64K of=/dev/sdx
這應該快得多。選擇您需要的塊大小(或添加計數)。寫入一個SSD-Disk直到99M的塊大小完全給了我350M/s的寫入性能。
我確認這至少比公認的解決方案快兩倍。然而,我並沒有注意到通過改變塊大小來改善性能(儘管沒有bs參數會導致性能大幅下降)。 –
pv /dev/zero |tr \\000 \\377 >targetfile
...其中\377
是255
的八進制表示(具有設置爲一個所有位字節)。爲什麼tr
只適用於八進制數字,我不知道 - 但要小心,不要下意識地將其轉換爲3FF。
使用tr
的語法容易出錯。我建議驗證它正在所需的翻譯...
cat /dev/zero |tr \\000 \\377 |hexdump -C
注:pv
是一個很好的工具,取代cat
並增加了一個進度/速度顯示。
編寫一個C程序來做到這一點,應該是微不足道的。 –