Я ищу быстрый способ найти количество файлов в каталоге в Linux.
Любое решение, которое требует линейного времени по количеству файлов в каталоге, НЕ приемлемо (например, «ls | wc -l» и подобные вещи), потому что это заняло бы чрезмерно много времени (есть десятки или, может быть, сотни миллионов файлов). файлы в каталоге).
Я уверен, что количество файлов в каталоге должно храниться как простое число где-то в структуре файловой системы (возможно, inode?), как часть структуры данных, используемой для хранения записей каталога - как я могу добраться до этого числа?
Изменить: файловая система ext3. Если нет портативного способа сделать это, я готов сделать что-то конкретное для ext3.
/usr/share/terminfo
имеет подкаталог для каждого начального символа, используемого записью, поэтому его можно перемещать больше как дерево, чтобы уменьшить количество файлов. Существуют файловые системы, которые больше похожи на базы данных, где подсчет сводится к одному быстрому запросу, но они не распространены (если они вообще существуют вообще, IDK) в мире Unix. - person Stephen P   schedule 20.07.2010