
# 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
Размер файла указан как 0, но у него есть содержимое. Как это работает?
Это потому, что /proc
это какая-то виртуальная файловая система?
Какая команда может показать точный размер файлов в формате /proc
?
решение1
Это потому, что вы находитесь в proc
файловой системе. Подробнее см. начто такое procfs.
/proc/version, содержащий версию ядра Linux, номер дистрибутива, номер версии gcc (используется для сборки ядра) и любую другую соответствующую информацию, касающуюся версии работающего в данный момент ядра
Это не настоящие файлы. Это удобный способ показать информацию о процессе в виде иерархии файлов.
РЕДАКТИРОВАТЬ:
Я знаю, что это нереально, но что мне делать, если я хочу узнать его размер?
Вы не получаете его от ls
, но вы можете попробовать использовать wc
:
# wc -c /proc/version
138 /proc/version