您可以使用
dd if=/dev/zero of=file count=1024 bs=1024
以零填充文件。
而不是我想要填写一个文件。 我怎么做?
没有/ dev /一个文件,所以我如何通过bash shell来模拟这个效果?
尝试这个:
dd if=<(yes $'\01' | tr -d "\n") of=file count=1024 bs=1024
如果你想要所有的位都是1,那么用$'\377'
或$'\xFF'
替代。
tr '\0' '\377' < /dev/zero | dd bs=64K of=/dev/sdx
这应该快得多。 选择您需要的块大小(或添加计数)。 写入一个SSD-Disk直到完整的99M的块大小给我350M / s的写入性能。
那么,你可以这样做:
dd if=/dev/zero count=1024 bs=1024 | tr '\000' '\001' > file
pv /dev/zero |tr \\000 \\377 >targetfile
…其中\377
是255
的八进制表示(所有位设置为1的字节)。 为什么tr
只能用八进制数字,我不知道 – 但要小心,不要下意识地把它翻译成3FF 。
使用tr
的语法容易出错。 我建议验证它正在进行所需的翻译…
cat /dev/zero |tr \\000 \\377 |hexdump -C
注意: pv
是一个很好的实用工具,可以替换cat
并添加进度/速率显示。