Вопрос знактокам Linux:
есть куча утилит, типа ncdu, которые удобно показывают занятое место по папкам. А есть ли нечто подобное по количеству файлов?
Бывает же что одна директория с тучкой файлов, но весит мало, вторая же с парой больших файлов, а вот её в первую очередь и чистят.
@post_hardcore Немного не то вышло. :) Файлы могут быть и в подпапках и тд. Я скриптик написал, которых обходит всё это дело и показывает, но думал вдруг есть что-то стандартное :)
@mstadmin а, понял.
Что-то подобное не видел, к сожалению. Но как будто бы реализовать не сложно.
В целом, это доказано твоим скрином)
@post_hardcore На скрине тупо обход по папкам. Разумеется, это адски долго и некрасиво. :)
@medvedych Это показывает занятое место, а интересно как раз сколько файлов.
Тут в одном месте споткнулись, что некоторые папки загадили так, что даже открывается не сразу, а по факту несчастные 5ГБ всего и поэтому никто не обращал внимания. :)
@mstadmin
find /tmp -type f 2>/dev/null | wc -l
Но надо учитывать еще права всякие, если ты куда-то в системные папки лезешь :)
@medvedych права - это вопрос другой, решаемо :)
Немного перефразирую: нужен список директорий и число файлов внутри с учётом подпапок. И как в ncdu, сортировка от самой "массовой" папки.
Пример я уже добавлял, скриптом решил это дело. Но просто хотелось что-то нативное, чем просто обходить все папки. Например, информация из файловой системы.
Но пока вариантов не найдено, решено скриптом и теперь у людей задачка зачистить ненужное. :)
@grumb Внизу только число всех файлов, а нужен отсортированный список папок с количеством файлов внутри с учётом подпапок. :)
А зачем собирать число файлов рекурсивно?
Проблемы возникают, если их слишком много в одном каталоге. У нас как-то сложили пару десятков миллионов... как оказалось, это приводит к отказу примерно всего, что такое трогает :) Обычно же чистят либо с целью освобождения места (т.е. по размеру, в том числе рекурсивно), либо от старого (тип-дата). Столкнулись с дефицитом inode?
Сам кейс кажется мне странноватым, хотя я бы тоже скриптом посчитал.
@shuro Несколько причин. :) Синхронизация этого дела - небольшой ад. Слишком много файлов в одной папке - тормоза. Одна из задачек ещё и бэкап наладить, а смысл бэкапить то, что не нужно. При этом разные проекты и владельцы, поэтому такой "топ" хотелось сделать, чтобы знать кто будет архивировать/убирать ненужное. :)
Кстати, я делал ставку на один проект, но он только на 3 месте. Иногда "серые мышки" могут преподносить сюрпризы.
Ой как не люблю фанатов "а давайте оставим на всякий случай".