Je veux savoir combien de fichiers j'ai sur mon système de fichiers. Je sais que je peux faire quelque chose comme ça:
find / -type f | wc -l
Cela semble très inefficace. Ce que j'aimerais vraiment, c'est de trouver le nombre total d'inodes uniques qui sont considérés comme un «fichier».
Y a-t-il une meilleure façon?
Remarque:
Je voudrais le faire parce que je développe un programme de synchronisation de fichiers et je voudrais faire une analyse statistique (comme le nombre total de fichiers que l'utilisateur moyen possède par rapport au nombre de fichiers sur le système). Je n'ai cependant pas besoin de savoir quoi que ce soit sur ces fichiers, juste qu'ils existent (les chemins n'ont pas d'importance du tout). Je voudrais surtout connaître ces informations pour chaque système de fichiers monté (et son point de montage associé).
la source
df
afficherait le nombre total d'inodes à 0 sur ces systèmes de fichiers. Les autres types devraient afficher les statistiques d'inode du système de fichiers sous-jacent./dev/null
voir que vous obtiendrez des lignes vous avertissant que les fichiers/proc
sont "virtuels"?Utilisez
statvfs()
et calculezf_files - f_ffree
.la source