首页 > 代码库 > linux伪文件与proc文件

linux伪文件与proc文件

linux/unix系统的文件类型大致可分为三类:普通文件、目录文件和伪文件。常见的伪文件分别是特殊文件、命名管道及proc文件。

伪文件不是用来存储数据的,因此这些文件不占用磁盘空间,尽管这些文件确实存在于目录树中,是目录树的一部分,并且也执照目录的方式来组织。伪文件的目的是提供一种服务,通过这种服务,系统可以像操作普通文件一样来访问这些文件对代表的对象。是重要的是伪文件是设备文件。如键盘、鼠标、显示器等。对于这些设备文件都有对应有伪文件来表示它们。除了设备之外,还有命名管道,通过命名管道,用户可以将一个命令的输出连接到另外一个命令的输入上面。最后一种伪文件是proc文件,它允许访问内核中的信息。

系统中常见的proc伪文件:

apm 高级电源管理信息
cmdline 内核命令行
Cpuinfo 关于Cpu信息
Devices 可以用到的设备(块设备/字符设备)
Dma 使用的DMA通道
Filesystems 支持的文件系统
Interrupts 中断的使用
Ioports I/O端口的使用
Kcore 内核核心印象
Kmsg 内核消息
Ksyms 内核符号表
Loadavg负载均衡
Locks 内核锁
Meminfo 内存信息
Misc 杂项
Modules 加载模块列表
Mounts 加载的文件系统
Partitions 系统识别的分区表
Rtc实时时钟
Slabinfo Slab池信息
Stat 全面统计状态表
Swaps 对换空间的利用情况
Version内核版本
Uptime 系统正常运行时间
伪文件都可以用cat命令来查看,如经常查询的伪文件信息:(linux版本、内存、CPU)
[root@rusky bin]# cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007
[root@rusky bin]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     T6500  @ 2.10GHz
stepping        : 10
cpu MHz         : 2098.866
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc up pni
bogomips        : 4203.23

[root@rusky bin]# cat /proc/meminfo
MemTotal:      1035400 kB
MemFree:        261848 kB
Buffers:         53492 kB
Cached:         475956 kB
SwapCached:          0 kB
Active:         384188 kB
Inactive:       350136 kB
HighTotal:      131008 kB
HighFree:          264 kB
LowTotal:       904392 kB
LowFree:        261584 kB
SwapTotal:     2040212 kB
SwapFree:      2040212 kB
Dirty:             324 kB
Writeback:           0 kB
AnonPages:      204888 kB
Mapped:         202112 kB
Slab:            27808 kB
PageTables:       4108 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   2557912 kB
Committed_AS:   604960 kB
VmallocTotal:   114680 kB
VmallocUsed:      4368 kB
VmallocChunk:   109804 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     4096 kB
[root@rusky bin]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     T6500  @ 2.10GHz
stepping        : 10
cpu MHz         : 2098.866
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc up pni
bogomips        : 4203.23