Я пытался cat /dev/zero
, и это, похоже, ничего не делало. Я гуглил /dev/zero
, и он говорит, что это в основном пустой файл с бесконечным размером. Является ли cat
печать бесконечным числом несуществующих символов? Как это работает? Как это обеспечивает бесконечные данные, если это 0 байтов? Какая польза от этого файла, если можно просто создать пустой файл?
filesystems
tkbx
источник
источник
cat -v /dev/zero
чтобы посмотреть, что он делает. См. Очистка неиспользуемого пространства с нулями (ext3, ext4) для общей цели.cat foo > /dev/null
иcat foo > /dev/zero
одинаковы, ноcat /dev/null
иcat /dev/zero
не одинаковы ли, верно?/dev/null
немедленно возвращает EOF, если программа хочет прочитать с него./dev/zero
возвращает бесконечно 0 байтов.Ответы:
/dev/zero
специальный файл (в данном случае псевдоустройство), который предоставляет бесконечный поток нулевых символов (например, hex 0x00)? Вот почему вашcat
ничего не выводит (но попробуйте запустить его черезod
(восьмеричный дамп)).«Пустой файл с бесконечным размером» не является на 100% правильным: это не обычный файл, а специальный файл (больше похожий на «поток» или генератор). Вы можете читать из него столько, сколько хотите, например, с помощью
dd
(вродеdd if=/dev/zero of=yourfile count=1024 bs=1024
).На самом деле это не пустой файл и не используется для создания пустых файлов: он используется для создания файлов или страниц памяти, заполненных только нулями. Вы также можете писать в него, заставляя его работать как провал (
/dev/null
хотя для этого чаще используется его более популярный брат ).источник
srm
руководство или источник, но большинство «безопасных ластиков» предпочитают записывать (псевдо-) случайные данные вместо обнуления диска, поскольку один проход обнуления недостаточно безопасен (некоторые трехбуквенные агентства все еще может вычесть исходное содержимое обнуленного жесткого диска, так как отдельные биты не на 100% истинно 1 или 0, а просто «в основном 1» или «в основном 0». Сравните его с рычагом, который можно поставить «до конца» "или" все в порядке ", но обычно достаточно простого поворота на другую сторону.dd
создать раздел, вы можете захотеть заполнить все пустое пространство до 0, а не случайным образом, чтобы позже получить сжатый файл меньшего размера.