Здесь может быть несколько недоразумений, поэтому команда не делает того, что вы, возможно, ожидаете.
sudo
является лишним, так как вам не нужно sudo
для чтения из /dev/urandom
. Часть > some-file
является перенаправлением оболочки и, таким образом, вообще не охватывается sudo
. Так что ваш sudo
супер неэффективен.(Примечание:в этом конкретном случае sudo
может работать как задумано независимо, см. комментарии. Однако отказ от использования sudo
таким образом является шаблоном, так как в других случаях он укусит вас.)
Затем вы записываете в обычный файл. Это заполняет свободное пространство -файловой системы, в которой находится файл. Если у вас есть несколько файловых систем (, одна для /
, одна для /home
, загрузочные разделы и разделы подкачки и т. д. ), они также не затронуты.
В лучшем случае это перезаписывает только свободное пространство . Нет никакой гарантии, что он покроет все (, зависящее от внутреннего устройства файловой системы, корневого резерва, журнала, упакованного/зарезервированного и т.д. секторов ), и он не перезаписывает файлы, которые все еще находятся там регулярно (, и они могут включать файлы, спрятанные в папках корзины / эскизов / кеша или просто в каком-то подкаталоге, о котором вы забыли ).
Все они все равно будут подхвачены photorec
, так как они никогда не перезаписываются.
Кроме того, запись этого файла должна быть завершена в первую очередь. Таким образом, вместо того, чтобы удалять его сразу после этого, вы должны сначала sync
убедиться, что все эти случайные данные действительно попали на диск, а не только какой-то буфер записи в ОЗУ, который никогда не будет записан.
Таким образом, с этим методом нет никакой гарантии ни на что. В то же время это опасно, так как в файловой системе закончится свободное место,что, в свою очередь, может вызвать сбои записи для всех других программ и, таким образом, привести к непреднамеренной потере данных.