如何在Linux中获得与/ dev / one相当的function

您可以使用

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 

…其中\377255的八进制表示(所有位设置为1的字节)。 为什么tr只能用八进制数字,我不知道 – 但要小心,不要下意识地把它翻译成3FF


使用tr的语法容易出错。 我建议验证它正在进行所需的翻译…

 cat /dev/zero |tr \\000 \\377 |hexdump -C 

注意: pv是一个很好的实用工具,可以替换cat并添加进度/速率显示。