Для обнуления всего чего угодно, в 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, за любое время).
Вероятно, это связано с разной скоростью намагничивания и размагничивания поверхности диска. Могу быть неправ. Добро пожаловать в комментсы.
Комментарии
Злобный ламер
#cid89295
Ответить
Спасибо! Решение очень хорошее и полезное.
#cid89296
Ответить
#cid89295, Злобный ламер
Вот видишь — сам нашёл.
:)