Chcę wiedzieć, ile plików mam w moim systemie plików. Wiem, że mogę zrobić coś takiego:
find / -type f | wc -l
To wydaje się wysoce nieefektywne. Chciałbym naprawdę znaleźć całkowitą liczbę unikalnych i-węzłów, które są uważane za „plik”.
Czy jest lepszy sposób?
Uwaga:
Chciałbym to zrobić, ponieważ opracowuję program do synchronizacji plików i chciałbym przeprowadzić analizę statystyczną (na przykład liczbę plików, które ma przeciętny użytkownik w porównaniu do liczby plików w systemie). Nie muszę jednak nic wiedzieć o tych plikach, tylko że one istnieją (ścieżki nie mają żadnego znaczenia). Chciałbym szczególnie poznać te informacje dla każdego zamontowanego systemu plików (i powiązanego z nim punktu montowania).
źródło
df
wyświetli całkowitą liczbę i-węzłów jako 0 w tych systemach plików. Inne typy powinny pokazywać statystyki i-węzłów systemu plików./dev/null
zobaczyć, jak otrzymasz linie ostrzegające, że pliki/proc
są „wirtualne”?Użyj
statvfs()
i obliczyćf_files - f_ffree
.źródło