Уничтожение файлов через shred
shred — это консольная утилита для более жёсткого удаления файлов. В отличие от обычного удаления, где система просто убирает указатель на файл, а сами данные ещё можно восстановить, здесь подход другой.
Смысл в том, что shred не ограничивается удалением записи о файле - он многократно перезаписывает область диска, где физически находились данные. Обычно это делается нулями и/или случайными наборами байт, чтобы максимально усложнить восстановление информации.
Проще говоря: вместо удалил и надеешься, что никто не достанет - происходит целенаправленное затирание содержимого на уровне носителя.
Откройте терминал для экспериментов и создайте файл с простым содержанием Hello_world
Для демонстрации выведен список файлов в каталоге (ls) и содержание созданного файла (cat file.txt)

Теперь для примера создадим символьную ссылку на файл и продемонстрируем её содержимое. Далее демонстрируется сама символьная ссылка и вывод указывает на то, что символьная ссылка ссылается на файл file.txt

Если удалить файл, затем снова прочитать содержимое символьной ссылки, то мы не увидим никакого содержания, потому что файл удалён

Теперь создадим файл заново и сделаем на него жёсткую ссылку, это позволит записать данные расположения файла на диске.
После создания жёсткой ссылки, продемонстрировано её содержимое

Теперь удалим файл и попробуем прочитать содержание жёсткой ссылки

Как видите, содержание жёсткой ссылки сохранилось не смотря на удалённый файл
Теперь попробуем создать файл, сделать на него жёсткую ссылку и удалить файл с помощью shred, затем снова посмотреть содержание жёсткой ссылки

Теперь данные на своём месте отсутствуют, не смотря на наличие жёсткой ссылки
shred можно использоваться для уничтожения сразу всех файлов в каталоге:
shred -uvz *
Либо для уничтожения только выбранных файлов, для этого нужно указать эти файлы:
shred -uvz file1 file2 file3
Если нужно уничтожить все файлы в каталоге и в подкаталогах, то есть рекурсивно, здесь на помощь придёт утилита find, потому что shred не умеет так делать самостоятельно:
find . -type f -exec shred -uvz {} \;
shred — это консольная утилита для более жёсткого удаления файлов. В отличие от обычного удаления, где система просто убирает указатель на файл, а сами данные ещё можно восстановить, здесь подход другой.
Смысл в том, что shred не ограничивается удалением записи о файле - он многократно перезаписывает область диска, где физически находились данные. Обычно это делается нулями и/или случайными наборами байт, чтобы максимально усложнить восстановление информации.
Проще говоря: вместо удалил и надеешься, что никто не достанет - происходит целенаправленное затирание содержимого на уровне носителя.
Откройте терминал для экспериментов и создайте файл с простым содержанием Hello_world
Для демонстрации выведен список файлов в каталоге (ls) и содержание созданного файла (cat file.txt)

Теперь для примера создадим символьную ссылку на файл и продемонстрируем её содержимое. Далее демонстрируется сама символьная ссылка и вывод указывает на то, что символьная ссылка ссылается на файл file.txt

Если удалить файл, затем снова прочитать содержимое символьной ссылки, то мы не увидим никакого содержания, потому что файл удалён

Теперь создадим файл заново и сделаем на него жёсткую ссылку, это позволит записать данные расположения файла на диске.
После создания жёсткой ссылки, продемонстрировано её содержимое

Теперь удалим файл и попробуем прочитать содержание жёсткой ссылки

Как видите, содержание жёсткой ссылки сохранилось не смотря на удалённый файл
Теперь попробуем создать файл, сделать на него жёсткую ссылку и удалить файл с помощью shred, затем снова посмотреть содержание жёсткой ссылки

Теперь данные на своём месте отсутствуют, не смотря на наличие жёсткой ссылки
shred можно использоваться для уничтожения сразу всех файлов в каталоге:
shred -uvz *
Либо для уничтожения только выбранных файлов, для этого нужно указать эти файлы:
shred -uvz file1 file2 file3
Если нужно уничтожить все файлы в каталоге и в подкаталогах, то есть рекурсивно, здесь на помощь придёт утилита find, потому что shred не умеет так делать самостоятельно:
find . -type f -exec shred -uvz {} \;