Я хочу, чтобы команда полностью уничтожила содержимое папки / каталога (которая может быть внутри папок / каталогов). Также, пожалуйста, объясните команду.
Для файлов, которые не являются каталогами, вот более простой способ вместо -exec shred -u {} \; типа пути:
cd to your directory.
, затем
find . -type f -print0 | xargs -0 shred -fuzv -n 48
, это 48 рекурсивно проходит к текущий каталог, который вы cd 'в.
Надеюсь, это поможет некоторым.
Shred работает только с файлами. Сначала необходимо сначала испортить файлы в каталоге dir / subdirs, а затем удалить каталоги. попробуйте
find [PATH_TO_DIR]
и убедитесь, что вы видите только файлы, которые хотите удалить
find [PATH_TO_DIR] -exec shred -u {} \;
, затем удалите dirs с помощью
rm -rf [PATH_TO_DIR]
Вероятно, вы хотите использовать что-то похожее на это:
find dir -type f -exec shred -fuz {} +
rm -rf dir
Первая команда находит только файлы и передает их в клочья (как можно больше сразу - не нужно начинать новый процесс измельчения для каждый файл, такой как \; делает). Наконец, удалите каталоги.
sudo apt install wipe
$ wipe -rfi dir/*
, где используются флаги: -r – tells wipe to recurse into subdirectories -f – enables forced deletion and disable confirmation query -i – shows progress of deletion process
Когда мне нужно обрезать несколько файлов или весь каталог, я просто использую shred -vzn 20 ./shredme/*.*, например, который перезаписывает все файлы с любым расширением файла в папке «shredme». Затем вы можете использовать стандартную команду rm -rf ./shredme для удаления самой папки (или просто щелкнуть правой кнопкой мыши и удалить папку), поскольку все данные были перезаписаны 20 раз для этого примера.
Я сделал быстрый пример этого с кучей дубликатов изображений в качестве примера.