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

3
# 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 é reportado como 0, mas tem conteúdo. Como isso funciona?

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

Qual comando poderia mostrar o tamanho exato dos arquivos em /proc ?

    
por hugemeow 22.08.2012 / 04:14

1 resposta

8

É porque você está no sistema de arquivos proc . Veja mais informações sobre qual procfs é .

/proc/version, containing the Linux kernel version, distribution number, gcc version number (used to build the kernel) and any other pertinent information relating to the version of the kernel currently running

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

EDITAR:

i know it's unreal, but what i should do if i want to know its size?

Você não está obtendo isso de ls , mas pode tentar usar wc :

# wc -c /proc/version
138 /proc/version
    
por 22.08.2012 / 04:15