Удаления файла или каталога по маске
Удаляем файлы и каталоги по заданным критериям или маске. Есть несколько вариантов удаления. Прицеп прост, собрать структуру файлов или директорий и удалить.Для сбора данных как всегда используем команду find, но многие не смотрели ее дополнительных возможностей. Есть ключ -delete с помощь которого можно сразу и удалить выбранные объекты.
Удаляем все файлы (ключ -type f ) с именем упоминание в имени "*text*" в каталоге ./test/:
find ./test/* -type f -name "*text*" -deleteУдаляем все пустые каталоги по маске
find ./test/* -type d -name "*" -empty -deleteА если каталог или директория заполнена прибегаем к команде rm .
Удаление каталога с файлами
Удаляем конкретный каталоги с файлами.rm -dfR ./test/dir1Удаляем каталог с файлами по маске
find ./test/* -type d -name "*dir*" | xargs rm -dfRПриятного использования и удаления.
источник1
Удалить файлы, содержащие в названии определенный текст можно следующими способами:
1:
locate *часть_имени* | xargs rm
2:
find . -name "*~" -type f | xargs rm -f
источник2
Предположим что файловая шара Samba находится у нас по адресу: /home/samba/public в которой уже лежат папки и файлы пользователей.
Тогда запрос принимает вид:
find /home/samba/public -type f -name "~$*.*" -delete
"~$*.*" -маска имени файла, если нужно удалить например: файлы mp3, то будет иметь вид "*.mp3", а если требуется удалять приложения, то "*.exe"
Данное задание можно засунуть в Cron и выполнять по ночам, когда сервер не используется.
Решение подходит для всех дистрибутивов Linux.