ls -l muestra el tamaño de archivo 0 de los archivos en /proc, pero cat produce contenido

ls -l muestra el tamaño de archivo 0 de los archivos en /proc, pero cat produce contenido
# 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

El tamaño del archivo se informa como 0, pero tiene contenido. ¿Cómo funciona esto?

¿Es porque /proces algún tipo de sistema de archivos virtual?

¿Qué comando podría mostrar el tamaño exacto de los archivos /proc?

Respuesta1

Es porque estás en el procsistema de archivos. Ver más información en¿Qué es el proceso?.

/proc/version, que contiene la versión del kernel de Linux, el número de distribución, el número de versión de gcc (usado para construir el kernel) y cualquier otra información pertinente relacionada con la versión del kernel que se está ejecutando actualmente.

Esos no son archivos reales. Es una manera conveniente de mostrar la información del proceso como una jerarquía de archivos.


EDITAR:

Sé que es irreal, pero ¿qué debo hacer si quiero saber su tamaño?

No lo obtendrás de ls, pero puedes intentar usar wc:

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

información relacionada