Для обнуления всего чего угодно, в linux есть специальное устройство, /dev/zero. Это неисчерпаемый запас нулей.
При чтении с него возвращаются нули, в любом количестве.

dd if=/dev/zero

Ctrl+C

Для получения такого же неисчерпаемого запаса единичек делаем:

dd if=/dev/zero | tr '\0' '\377'

Здесь /dev/zero предоставляет нули, а tr '\0' '\377' меняет их на единички (man tr). 3778 = 25510 = 111111112.


Кстати, проверить производительность можно следующим образом:

dd if=/dev/zero > ./00000000 & dd if=/dev/zero | tr '\0' '\377' > ./11111111

и через время, в другой консоли:

killall dd

Лично у меня на обычный винчестер единички пишутся в два раза охотнее, чем нулики (файл 11111111 получается в два раза больше, чем файл 00000000, за любое время).
Вероятно, это связано с разной скоростью намагничивания и размагничивания поверхности диска. Могу быть неправ. Добро пожаловать в комментсы.


Злобный ламер
2014.05.15 17:31:08
#cid89295

Ответить

Спасибо! Решение очень хорошее и полезное.

2014.05.15 17:38:33
#cid89296

Ответить

#cid89295, Злобный ламер

Спасибо! Решение очень хорошее и полезное.

Вот видишь — сам нашёл.
:)