четверг, 28 июля 2016 г.

Удаления файла или каталога по маске в Linux

Удаления файла или каталога по маске

Удаляем файлы и каталоги по заданным критериям или маске. Есть несколько вариантов удаления. Прицеп прост, собрать структуру файлов или директорий и удалить.
Для сбора данных как всегда используем команду 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.

вторник, 26 июля 2016 г.

Поиск самой большой папки unix, linux

du —max-depth=1 -B M |sort -rn
 
-h -x забыл
-h — human, что бы не в байтах, а в гигабайтах/магабайтах/килобайтах и т.д. писало
-x — одна файловая система, если внутри просматриваемого каталога примонтирован другой диск, то пропускать его
и вместо —max-depth=1, можно писать -d 1

понедельник, 11 июля 2016 г.