ls -l mostra o tamanho 0 dos arquivos em /proc, mas cat produz conteúdo

ls -l mostra o tamanho 0 dos arquivos em /proc, mas cat produz conteúdo
# cat /proc/version
Linux version 2.6.18-308.8.2.el5.028stab101.1 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Sun Jun 24 20:25:35 MSD 2012
# ls -l /proc/version
-r--r--r-- 1 root root 0 Aug 22 10:07 /proc/version

O tamanho do arquivo é relatado como 0, mas possui conteúdo. Como é que isso funciona?

É porque /procé algum tipo de sistema de arquivos virtual?

Qual comando pode mostrar o tamanho exato dos arquivos /proc?

Responder1

É porque você está no procsistema de arquivos. Veja mais informações emo que é procfs.

/proc/version, contendo a versão do kernel Linux, número de distribuição, número de versão do gcc (usado para construir o kernel) e qualquer outra informação pertinente relacionada à versão do kernel atualmente em execução

Esses não são arquivos reais. É uma maneira conveniente de mostrar informações do processo como uma hierarquia de arquivos.


EDITAR:

eu sei que não é real, mas o que devo fazer se quiser saber seu tamanho?

Você não está conseguindo ls, mas pode tentar usar wc:

# wc -c /proc/version
138 /proc/version

informação relacionada