Удаление каталога с shred

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Kirush
Сообщения: 47
ОС: Ubuntu 12.04 LTS

Удаление каталога с shred

Сообщение Kirush »

Доброго времени суток!

Есть в линуксе очень такая симпатичная комманда, как shred. Однако она удаляет только файлы, а не каталоги. :( Поэтому мне приходится использовать такую последовательность комманд:

Код: Выделить всё

shred -f -v -z -u dirname/*
shred -f -v -z -u dirname/*/*
shred -f -v -z -u dirname/*/*/*
shred -f -v -z -u dirname/*/*/*/*
shred -f -v -z -u dirname/*/*/*/*/*
:wacko:

Может у кого-то есть скрипт (или еще что-то), что позволит застваить shred удалять каталоги? Буду признателен. :drinks:
Skype: kirush_nm
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21245
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Удаление каталога с shred

Сообщение Bizdelnick »

find dirname -type f -exec shred -fvzu {} + && rm -rf dirname
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Удаление каталога с shred

Сообщение allez »

Попробуйте так:

Код: Выделить всё

find dirname -type f -exec shred -f -v -z -u {} \; rm -rf dirname

P. S. Оп-паньки, пока писал, Bizdelnick уже ответил. Прошу плагиатором не считать. :)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Удаление каталога с shred

Сообщение drBatty »

Kirush
вы подходите к задаче не с того конца: ведь вам надо каталоги удалять, да? А в каталогах что содержится? Имена файлов.

$

shred -vu zzzzzzzzzzzz shred: zzzzzzzzzzzz: проход 1/3 (random)… shred: zzzzzzzzzzzz: проход 2/3 (random)… shred: zzzzzzzzzzzz: проход 3/3 (random)… shred: zzzzzzzzzzzz: удаление shred: zzzzzzzzzzzz: переименован в 000000000000 shred: 000000000000: переименован в 00000000000 shred: 00000000000: переименован в 0000000000 shred: 0000000000: переименован в 000000000 shred: 000000000: переименован в 00000000 shred: 00000000: переименован в 0000000 shred: 0000000: переименован в 000000 shred: 000000: переименован в 00000 shred: 00000: переименован в 0000 shred: 0000: переименован в 000 shred: 000: переименован в 00 shred: 00: переименован в 0 shred: zzzzzzzzzzzz: удалён


таким образом, shred удаляет не только информацию из файлов, но и информацию из каталогов.

Собственно удаление файлов -- это дополнительная фича shred, а не то, что вы подумали.

PS: удалять файлы и каталоги можно вот так

Код: Выделить всё

find dirname/ -delete


Если вы уже используете find, то есть смысл объединить эти команды, единственное, нужно предусмотреть обход в обратном порядке.

Что-то вроде

$

find dirname/ -depth -type f -exec shred ... \; -o -type d -delete

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21245
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Удаление каталога с shred

Сообщение Bizdelnick »

drBatty писал(а):
11.01.2014 12:21
Что-то вроде

$

find dirname/ -depth -type f -exec shred ... \; -o -type d -delete


IMHO не сработает. Будет пытаться удалить непустые каталоги и обломается.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Удаление каталога с shred

Сообщение drBatty »

Bizdelnick писал(а):
11.01.2014 12:28
IMHO не сработает. Будет пытаться удалить непустые каталоги и обломается.

а вам читать man find на предмет опции -depth до полного просветления. (:

И да, при delete оно по дефолту, но я точно не знаю, сработает-ли оно вместе с OR.

PS: Кнут вводит три порядка обхода дерева. Find использует два:

1. обычно используется прямой обход, сначала узлы, а потом ветки.

2. для delete и/или при -depth используется обратный, когда сначала обходим ветки, а уж потом узлы.

(центрированный имеет мало смысла для ФС, т.к. имеет смысл больше для бинарных деревьев или упорядоченных. А в ФС они хешированные)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Kirush
Сообщения: 47
ОС: Ubuntu 12.04 LTS

Re: Удаление каталога с shred

Сообщение Kirush »

drBatty
Мне нужно не просто удалить каталог, а именно затереть его вместе со всеми файлами. В противном случае хватило бы rm -Rf.

Например, сегодня утром, мне пришлось удалять таким образом папку с более чем 40 тыс. файлов и целой ***ой тучей подпапок. Меня интересует эмуляция(?) параметра -R из rm в shred.

А пока попытаюсь попробовать предложенные варианты...
Skype: kirush_nm
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Удаление каталога с shred

Сообщение drBatty »

Kirush писал(а):
11.01.2014 13:08
Мне нужно не просто удалить каталог, а именно затереть его вместе со всеми файлами. В противном случае хватило бы rm -Rf.

вы читать умеете? Вам нужно

1. удалить данные.

2. удалить сам каталог.

Я правильно вас понимаю?

В таком случае, данные в каталоге == имена файлов. Shred их тоже умеет затирать.
Kirush писал(а):
11.01.2014 13:08
Например, сегодня утром, мне пришлось удалять таким образом папку с более чем 40 тыс. файлов и целой ***ой тучей подпапок.

дык вот find -delete -- самый быстрый вариант. Для удаления. А shred -- для уничтожения данных в файлах, для уничтожения имён(== данных в каталогах). Shred забивает содержимое файлов мусором, как и их имена тоже забивает мусором. Т.ч. она уничтожает всю информацию. Ну разве что за исключением имён подкаталогов.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21245
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Удаление каталога с shred

Сообщение Bizdelnick »

drBatty писал(а):
11.01.2014 13:01
а вам читать man find на предмет опции -depth до полного просветления

Извиняюсь, не заметил.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: