Можно ли использовать dd для очистки каталога?
У меня есть каталог на установке Mint, который я хочу стереть (не просто удалить указатели, а фактически обнулить информацию с диска). Можно ли очистить данные с помощью dd
? Например, если файлы, которые я хочу стереть, находятся по адресу /folder/folder1/*
Могу ли я выполнить dd if=/dev/zero of=/folder/folder1 bs=1k
и что это ноль все файлы в этом каталоге? Кроме того, если у меня есть подкаталоги, будет ли он рекурсивно обнулять все подпапки?
4 ответа
Вы можете использовать find и dd вместе для рекурсивной записи файлов по одному:
find /folder/folder1 -type f | while read line; do dd if=/dev/zero of=$line bs=1k count=1024; done
Тогда вы можете просто rm -rf родительский каталог:
rm -rf /folder/folder1
Это ни в коем случае не будет быстрым процессом, но это сделает работу. Конечно, есть лучшие инструменты, чем использование dd для этого.
Вы не можете использовать dd
для папки, которая предназначена для таких устройств, как раздел или файл. Если это Ubuntu, вы должны установить shred
, который предназначен для того, что вы хотите сделать.
Shred работает только с файлами, поэтому вы хотите сделать:
find /folder -type f -print0 | xargs -0 shred
Ты можешь использовать shred
на разделах тоже.
Есть много других инструментов, если вы не в Ubuntu. shred
может быть доступно и для других дистрибутивов.
Вы также можете просто Google для безопасного удаления файлов в Linux, или что-то в этом роде, чтобы найти больше инструментов, которые могут лучше соответствовать вашим потребностям.
Я использую srm
, который находится в secure-delete
пакет на Ubuntu и Debian. sudo apt-get install secure-delete
чтобы установить его, то srm -r $directory
безопасно удалить все дерево каталогов. srm
не будет перезаписывать нестандартные файлы, но будет (по умолчанию) переименовывать все файлы и каталоги в случайное значение перед их отменой.
Вы можете использовать -z
флаг, чтобы он записал нули для последнего прохода и -v
чтобы увидеть его прогресс. Увидеть man srm
для дополнительной информации.
Нет, вы не можете использовать dd для безопасного удаления каталога, но вы можете использовать wipe
,
wipe многократно перезаписывает специальные шаблоны для файлов, подлежащих уничтожению, используя вызов fsync() и / или бит O_SYNC для принудительного доступа к диску