nixp.ru v3.0

26 мая 2017,
пятница,
17:53:45 MSK

DevOps с компанией «Флант»
Аватар пользователя rgo
rgo написал 23 октября 2005 года в 02:49 (260 просмотров) Ведет себя неопределенно; открыл 61 тему в форуме, оставил 1602 комментария на сайте.

Я программку ищу… Самое плохое что я не знаю как она должна выглядеть. Идея следующая:

У меня домашний раздел гигов на десять, и весь забит каким-то хламом. Ну вы понимаете… Так вот хочется его прочистить, освободить пару-тройку гигов. Но это делать приходиться раз в три месяца, и честно говоря уже достало ползать по всем директориям и искать что-нибудь побольше чтобы удалить. И за раз тоже не получается всё это сделать, тк живём мы в изменяющемся мире… И не предскажешь что может понадобиться в течение ближайшей недели/месяца. Так вот, по-моему процесс поиска можно облегчить, какой-нибудь программкой. Я б сам налабал бы скрипт, для поиска, но с трудом представляю *что конкретно он должен делать*.

Genie


$ find /home/rgo -type f|xargs ls -Fgl|sort -rnk 4|less

оно? ;)

rgo

не совсем. :(

Самую большую проблему вызывает ~/my… Я вот недавно, нашёл там tar.bz2 файлик, размером примерно на 300Mb и рядом директорию с 10000 png файлов одинакового размера ~50Kb (из которых архивчик и был сделан). если воспользоваться приведённой командой, то архив то я найду быстро, а вот директорию с десятком тысяч маленьких файлов искать устану. Как собственно и было, когда я не пользовался такой конструкцией.

У меня есть идеи как поиск можно, хотя бы отчасти возложить на железного друга. Но идеи недозревшие, и по-моему излишне сложные. Все из себя завязанные на подсчёт всяких распределений размеров файлов директорий и поиск оптимального дерева.

Оптимального в смысле: максимальное количество узлов дерева (файлов или директорий) vs наименьшая дисперсия размера этих узлов. Может это даже это неправильная идея… Ну в общем попробую и скажу что из этого может получится.

Не не попробую — я пока недостаточно представляю себе как можно в реальные сроки найти такое дерево.

Собственно, я к тому клоню, что мой способ может быть действительно сложен, и есть более простой? А может этот другой способ уже воплощён в какой-нибудь программке.

ps кстати как узнать суммарный размер файлов директории? Ну при условии, что дерево файлов директорий именно дерево и в нём нету никаких ссылок (hard и soft links).

я вечно делаю find . -type f | ls -l | awk '{sum+=$5} END {print sum}’. Но может проще можно?

Genie
Но может проще можно?

а чего, du -sbx /what/ever/to/measure не подойдёт?

rgo
а чего, du -sbx /what/ever/to/measure не подойдёт?

Я всегда подозревал, что такая утилита не может не существовать…

Genie

вообще же, можно извратнуться так..:

$ find /some/path -type d |xargs du -sbxS |sort -nr