Quiero saber cuántos archivos tengo en mi sistema de archivos. Sé que puedo hacer algo como esto:
find / -type f | wc -l
Esto parece altamente ineficiente. Lo que realmente me gustaría hacer es encontrar el número total de inodos únicos que se consideran un 'archivo'.
¿Hay una mejor manera?
Nota:
Me gustaría hacer esto porque estoy desarrollando un programa de sincronización de archivos, y me gustaría hacer un análisis estadístico (como cuántos archivos tiene el usuario promedio en total frente a cuántos archivos hay en el sistema). Sin embargo, no necesito saber nada sobre esos archivos, solo que existen (las rutas no importan en absoluto). Me gustaría saber especialmente esta información para cada sistema de archivos montado (y su punto de montaje asociado).
fuente
df
mostraría el número total de inodes como 0 en esos sistemas de archivos. Otros tipos deben mostrar las estadísticas de inodo del sistema de archivos subyacente./dev/null
ver que obtendría líneas que le advierten que los archivos/proc
son "virtuales"?Usa
statvfs()
y calculaf_files - f_ffree
.fuente