Ich möchte wissen, wie viele Dateien sich auf meinem Dateisystem befinden. Ich weiß, dass ich so etwas machen kann:
find / -type f | wc -l
Dies scheint sehr ineffizient zu sein. Am liebsten würde ich die Gesamtzahl der eindeutigen Inodes ermitteln, die als "Datei" betrachtet werden.
Gibt es einen besseren Weg?
Hinweis:
Ich möchte dies tun, weil ich ein Dateisynchronisationsprogramm entwickle und statistische Analysen durchführen möchte (wie viele Dateien der durchschnittliche Benutzer insgesamt hat, verglichen mit der Anzahl der Dateien auf dem System). Ich muss jedoch nichts über diese Dateien wissen, nur dass sie existieren (Pfade spielen überhaupt keine Rolle). Ich würde diese Informationen besonders gerne für jedes gemountete Dateisystem (und den dazugehörigen Mount-Punkt) erfahren.
quelle
df
würde die Gesamtzahl der Inodes auf diesen Dateisystemen als 0 anzeigen. Andere Typen sollten die Inode-Statistiken des zugrunde liegenden Dateisystems anzeigen./dev/null
sehen, wie Sie Linien erhalten, die Sie warnen, dass Dateien in/proc
"virtuell" sind?Verwenden
statvfs()
und berechnenf_files - f_ffree
.quelle