Quero saber quantos arquivos tenho no meu sistema de arquivos. Eu sei que posso fazer algo assim:
find / -type f | wc -l
Isso parece altamente ineficiente. O que eu realmente gostaria de fazer é encontrar o número total de inodes exclusivos que são considerados um 'arquivo'.
Existe uma maneira melhor?
Nota:
Gostaria de fazer isso porque estou desenvolvendo um programa de sincronização de arquivos e gostaria de fazer algumas análises estatísticas (como quantos arquivos o usuário médio tem no total versus quantos arquivos estão no sistema). No entanto, não preciso saber nada sobre esses arquivos, apenas que eles existem (os caminhos não importam nada). Gostaria especialmente de saber essas informações para cada sistema de arquivos montado (e seu ponto de montagem associado).
fonte
df
exibirá o número total de inodes como 0 nesses sistemas de arquivos. Outros tipos devem mostrar as estatísticas de inode do sistema de arquivos subjacente./dev/null
ver as linhas avisando que os arquivos/proc
são "virtuais"?Use
statvfs()
e calculef_files - f_ffree
.fonte