Linux /proc、/dev Principle

試著忘記壹切 提交于 2020-03-10 03:21:19

目录

1. /proc简介
2. 内核机制相关
3. 进程信息
4. 硬件设备相关
5. 系统信息
6. /dev简介
7. 内存相关 

 

1. /proc简介

在linux的根目录下有一个/proc目录,/proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在Linux内核空间和用户空间之间进行通信。在/proc文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的(即在我们执行指令的那一刹那才产生的)

/proc文件系统包含了:

1. 一些目录(用作组织信息的方式)
例如linux对于当前运行中的每一个进程都在/proc目录下建立一个目录(目录名就是process-id),例如init的进程号是1,则目录名也是1
2. 虚拟文件
虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段

执行: ll /proc,我们可以得到如下结果

dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 1
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 10
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 1024
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 11
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 12
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12016
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12017
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12018
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12019
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12020
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12021
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12022
dr-xr-xr-x.  8 apache    apache       0 Jul 30 05:08 12023
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 13
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 1329
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 1349
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 14
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 147
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 148
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 149
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 15
dr-xr-xr-x.  8 root      root         0 Jul 30 00:14 15269
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 154
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 155
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 16
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 1613
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 1638
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 17
dr-xr-xr-x.  8 root      root         0 Jul 30 17:07 17975
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 18
dr-xr-xr-x.  8 root      root         0 Jul 30 17:12 18170
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 19
dr-xr-xr-x.  8 root      root         0 Jul 30 19:46 19703
dr-xr-xr-x.  8 root      root         0 Jul 30 20:04 19846
dr-xr-xr-x.  8 root      root         0 Jul 30 20:04 19851
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 2
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 20
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 21
dr-xr-xr-x.  8 postfix   postfix      0 Jul 31 01:36 21833
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 22
dr-xr-xr-x.  8 root      root         0 Jul 31 01:36 22122
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 23
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 24
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 25
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 254
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 255
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 256
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 257
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 258
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 259
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 26
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 260
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 261
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 262
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 263
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 264
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 265
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 266
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 267
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 268
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 269
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 27
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 270
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 271
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 272
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 273
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 274
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 275
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 276
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 277
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 278
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 279
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 28
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 280
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 281
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 282
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 283
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 29
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 3
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 30
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 31
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 32
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 342
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 343
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 368
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 37
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 38
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 4
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 40
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 41
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 434
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 5
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 512
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 6
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 7
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 71
dr-xr-xr-x.  8 dbus      dbus         0 Jul 28 20:32 7682
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7693
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7699
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7716
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7718
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7743
dr-xr-xr-x.  8 haldaemon haldaemon    0 Jul 28 20:32 7752
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7753
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7799
dr-xr-xr-x.  8 haldaemon haldaemon    0 Jul 28 20:32 7803
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7820
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7838
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7884
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 7900
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 8
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8016
dr-xr-xr-x.  8 postfix   postfix      0 Jul 28 20:32 8023
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8040
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8048
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8058
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8072
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8089
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8112
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8117
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8119
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8121
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8125
dr-xr-xr-x.  8 root      root         0 Jul 28 20:33 8128
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8136
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8139
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8155
dr-xr-xr-x.  8 gdm       gdm          0 Jul 28 20:32 8225
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8231
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8273
dr-xr-xr-x.  8 rtkit     rtkit        0 Jul 28 20:32 8284
dr-xr-xr-x.  8 root      root         0 Jul 28 20:32 8290
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 866
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8926
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8936
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8944
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8945
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8959
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8968
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8969
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8974
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8981
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8982
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8996
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8997
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 8999
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 9
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9005
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9007
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9009
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9011
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9015
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9016
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9018
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9019
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9020
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9023
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9024
dr-xr-xr-x.  8 root      root         0 Jul 30 05:08 9028
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9031
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9032
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9036
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9039
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9046
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9052
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9054
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9061
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9065
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9066
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9067
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9072
dr-xr-xr-x.  8 root      root         0 Jul 30 05:08 9073
dr-xr-xr-x.  8 root      root         0 Jul 30 05:08 9082
dr-xr-xr-x.  8 root      root         0 Jul 28 20:39 9118
dr-xr-xr-x.  8 root      root         0 Jul 28 20:40 9124
dr-xr-xr-x.  8 root      utmp         0 Jul 28 20:40 9125
dr-xr-xr-x.  8 root      root         0 Jul 28 20:40 9126
dr-xr-xr-x.  8 root      root         0 Jul 28 20:43 9160
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 936
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 937
dr-xr-xr-x.  8 root      root         0 Jul 28 21:27 9474
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 974
dr-xr-xr-x.  8 root      root         0 Jul 28 20:31 975
dr-xr-xr-x.  8 root      root         0 Jul 28 22:05 9779
dr-xr-xr-x. 10 root      root         0 Jul 28 20:32 acpi
dr-xr-xr-x.  5 root      root         0 Jul 31 01:36 asound
-r--r--r--.  1 root      root         0 Jul 31 01:36 buddyinfo
dr-xr-xr-x.  6 root      root         0 Jul 28 20:31 bus
-r--r--r--.  1 root      root         0 Jul 31 01:36 cgroups
-r--r--r--.  1 root      root         0 Jul 31 01:36 cmdline
-r--r--r--.  1 root      root         0 Jul 31 01:36 cpuinfo
-r--r--r--.  1 root      root         0 Jul 31 01:36 crypto
-r--r--r--.  1 root      root         0 Jul 31 01:36 devices
-r--r--r--.  1 root      root         0 Jul 31 01:36 diskstats
-r--r--r--.  1 root      root         0 Jul 31 01:36 dma
dr-xr-xr-x.  2 root      root         0 Jul 31 01:36 driver
-r--r--r--.  1 root      root         0 Jul 31 01:36 execdomains
-r--r--r--.  1 root      root         0 Jul 31 01:36 fb
-r--r--r--.  1 root      root         0 Jul 31 01:36 filesystems
dr-xr-xr-x.  5 root      root         0 Jul 31 01:36 fs
-r--r--r--.  1 root      root         0 Jul 31 01:36 interrupts
-r--r--r--.  1 root      root         0 Jul 31 01:36 iomem
-r--r--r--.  1 root      root         0 Jul 31 01:36 ioports
dr-xr-xr-x.  2 root      root         0 Jul 31 01:36 ipmi
dr-xr-xr-x. 55 root      root         0 Jul 31 01:36 irq
-r--r--r--.  1 root      root         0 Jul 31 01:36 kallsyms
-r--------.  1 root      root      4096 Jul 31 01:36 kcore
-r--r--r--.  1 root      root         0 Jul 31 01:36 keys
-r--r--r--.  1 root      root         0 Jul 31 01:36 key-users
-r--------.  1 root      root         0 Jul 28 20:32 kmsg
-r--------.  1 root      root         0 Jul 31 01:36 kpagecount
-r--------.  1 root      root         0 Jul 31 01:36 kpageflags
-r--r--r--.  1 root      root         0 Jul 31 01:36 loadavg
-r--r--r--.  1 root      root         0 Jul 31 01:36 locks
-r--r--r--.  1 root      root         0 Jul 28 20:32 mdstat
-r--r--r--.  1 root      root         0 Jul 28 20:32 meminfo
-r--r--r--.  1 root      root         0 Jul 31 01:36 misc
-r--r--r--.  1 root      root         0 Jul 31 01:36 modules
lrwxrwxrwx.  1 root      root        11 Jul 31 01:36 mounts -> self/mounts
dr-xr-xr-x.  3 root      root         0 Jul 31 01:36 mpt
-r--r--r--.  1 root      root         0 Jul 31 01:36 mtd
-rw-r--r--.  1 root      root         0 Jul 28 20:32 mtrr
lrwxrwxrwx.  1 root      root         8 Jul 31 01:36 net -> self/net
-r--r--r--.  1 root      root         0 Jul 31 01:36 pagetypeinfo
-r--r--r--.  1 root      root         0 Jul 31 01:36 partitions
-r--r--r--.  1 root      root         0 Jul 31 01:36 sched_debug
-r--r--r--.  1 root      root         0 Jul 31 01:36 schedstat
dr-xr-xr-x.  4 root      root         0 Jul 31 01:36 scsi
lrwxrwxrwx.  1 root      root        64 Jul 31 00:01 self -> 22122
-rw-r--r--.  1 root      root         0 Jul 31 01:36 slabinfo
-r--r--r--.  1 root      root         0 Jul 31 01:36 softirqs
-r--r--r--.  1 root      root         0 Jul 28 20:32 stat
-r--r--r--.  1 root      root         0 Jul 31 01:36 swaps
dr-xr-xr-x.  1 root      root         0 Jul 28 20:31 sys
--w-------.  1 root      root         0 Jul 31 01:36 sysrq-trigger
dr-xr-xr-x.  2 root      root         0 Jul 31 01:36 sysvipc
-r--r--r--.  1 root      root         0 Jul 31 01:36 timer_list
-rw-r--r--.  1 root      root         0 Jul 31 01:36 timer_stats
dr-xr-xr-x.  4 root      root         0 Jul 31 01:36 tty
-r--r--r--.  1 root      root         0 Jul 31 01:36 uptime
-r--r--r--.  1 root      root         0 Jul 31 01:36 version
-r--------.  1 root      root         0 Jul 31 01:36 vmallocinfo
-r--r--r--.  1 root      root         0 Jul 28 20:32 vmstat
-r--r--r--.  1 root      root         0 Jul 31 01:36 zoneinfo

值得注意的是,使用"sysctl -a | more"指令,我们可以直接获得当前/proc中保存的所有变量,一次性全部显示出来

文章接下来的部分,我们按照逻辑功能对它们进行分类,逐类学习

Relevant Link:

http://www.ibm.com/developerworks/cn/linux/l-proc.html
http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlproc.html
http://wenku.baidu.com/view/056b1ad780eb6294dd886c78.html

 

2. 内核机制相关

0x1: /proc/interrupts: The number of interrupts per IRQ

           CPU0       
  0:        606   IO-APIC-edge      timer
  1:      13433   IO-APIC-edge      i8042
  3:          3   IO-APIC-edge    
  4:      53832   IO-APIC-edge    
  7:          0   IO-APIC-edge      parport0
  8:          1   IO-APIC-edge      rtc0
  9:          0   IO-APIC-fasteoi   acpi
 12:      25137   IO-APIC-edge      i8042
 14:          0   IO-APIC-edge      ata_piix
 15:          0   IO-APIC-edge      ata_piix
 16:      29335   IO-APIC-fasteoi   Ensoniq AudioPCI
 17:     125483   IO-APIC-fasteoi   ehci_hcd:usb1, ioc0
 18:        672   IO-APIC-fasteoi   uhci_hcd:usb2
 19:     542116   IO-APIC-fasteoi   eth0
 24:          0   PCI-MSI-edge      pciehp
 25:          0   PCI-MSI-edge      pciehp
 26:          0   PCI-MSI-edge      pciehp
 27:          0   PCI-MSI-edge      pciehp
 28:          0   PCI-MSI-edge      pciehp
 29:          0   PCI-MSI-edge      pciehp
 30:          0   PCI-MSI-edge      pciehp
 31:          0   PCI-MSI-edge      pciehp
 32:          0   PCI-MSI-edge      pciehp
 33:          0   PCI-MSI-edge      pciehp
 34:          0   PCI-MSI-edge      pciehp
 35:          0   PCI-MSI-edge      pciehp
 36:          0   PCI-MSI-edge      pciehp
 37:          0   PCI-MSI-edge      pciehp
 38:          0   PCI-MSI-edge      pciehp
 39:          0   PCI-MSI-edge      pciehp
 40:          0   PCI-MSI-edge      pciehp
 41:          0   PCI-MSI-edge      pciehp
 42:          0   PCI-MSI-edge      pciehp
 43:          0   PCI-MSI-edge      pciehp
 44:          0   PCI-MSI-edge      pciehp
 45:          0   PCI-MSI-edge      pciehp
 46:          0   PCI-MSI-edge      pciehp
 47:          0   PCI-MSI-edge      pciehp
 48:          0   PCI-MSI-edge      pciehp
 49:          0   PCI-MSI-edge      pciehp
 50:          0   PCI-MSI-edge      pciehp
 51:          0   PCI-MSI-edge      pciehp
 52:          0   PCI-MSI-edge      pciehp
 53:          0   PCI-MSI-edge      pciehp
 54:          0   PCI-MSI-edge      pciehp
 55:          0   PCI-MSI-edge      pciehp
 56:     815644   PCI-MSI-edge      ahci
NMI:          0   Non-maskable interrupts
LOC:    4947286   Local timer interrupts
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
IWI:          0   IRQ work interrupts
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
MCE:          0   Machine check exceptions
MCP:        391   Machine check polls
ERR:          0
MIS:          0

0x2: /proc/ioports: A list of currently registered input-output port regions that are in use

列出当前系统所有的输入输出接口

0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0064-0064 : keyboard
  0070-0071 : rtc0
  0080-008f : dma page reg
  00a0-00a1 : pic2
  00c0-00df : dma2
  00f0-00ff : fpu
  0170-0177 : 0000:00:07.1
    0170-0177 : ata_piix
  01f0-01f7 : 0000:00:07.1
    01f0-01f7 : ata_piix
  02f8-02ff : serial
  0376-0376 : 0000:00:07.1
    0376-0376 : ata_piix
  0378-037a : parport0
  03c0-03df : vga+
  03f6-03f6 : 0000:00:07.1
    03f6-03f6 : ata_piix
  03f8-03ff : serial
  0cf0-0cf1 : pnp 00:01

0cf8-0cff : PCI conf1

0d00-feff : PCI Bus 0000:00
  1000-103f : 0000:00:07.3
    1000-103f : pnp 00:01
      1000-1003 : ACPI PM1a_EVT_BLK
      1004-1005 : ACPI PM1a_CNT_BLK
      1008-100b : ACPI PM_TMR
      100c-100f : ACPI GPE0_BLK
      1010-1015 : ACPI CPU throttle
  1040-104f : 0000:00:07.3
    1040-104f : pnp 00:01
  1060-106f : 0000:00:07.1
    1060-106f : ata_piix
  1070-107f : 0000:00:0f.0
  1080-10bf : 0000:00:07.7
  1400-14ff : 0000:00:10.0
  2000-3fff : PCI Bus 0000:02
    2000-207f : 0000:02:01.0
      2000-201f : pcnet32_probe_pci
    2080-20bf : 0000:02:02.0
      2080-20bf : Ensoniq AudioPCI
    20c0-20df : 0000:02:00.0
      20c0-20df : uhci_hcd
  4000-4fff : PCI Bus 0000:03
  5000-5fff : PCI Bus 0000:0b
  6000-6fff : PCI Bus 0000:13
  7000-7fff : PCI Bus 0000:1b
  8000-8fff : PCI Bus 0000:04
  9000-9fff : PCI Bus 0000:0c
  a000-afff : PCI Bus 0000:14
  b000-bfff : PCI Bus 0000:1c
  c000-cfff : PCI Bus 0000:05
  d000-dfff : PCI Bus 0000:0d
  e000-efff : PCI Bus 0000:15
  fce0-fcff : pnp 00:0d

0x3: /proc/locks

cat /proc/locks 
1: FLOCK  ADVISORY  WRITE 8089 08:03:694 0 EOF
2: POSIX  ADVISORY  WRITE 8072 08:03:20385 0 EOF
3: FLOCK  ADVISORY  WRITE 8057 08:03:2498 0 EOF
4: POSIX  ADVISORY  WRITE 8040 08:03:2070 0 EOF
5: FLOCK  ADVISORY  WRITE 8016 08:03:19948 0 EOF
6: FLOCK  ADVISORY  WRITE 8016 08:03:335 0 EOF
7: FLOCK  ADVISORY  WRITE 1344 08:03:123 0 EOF

0x4: /proc/modules: A list of kernel modules loaded by the system

tcp_diag 693 0 - Live 0xf7e3e000
inet_diag 7334 1 tcp_diag, Live 0xf7e2c000
lp 6830 0 - Live 0xf7ef4000
rfcomm 61472 4 - Live 0xf8007000
sco 14781 2 - Live 0xf7edb000
bridge 67439 0 - Live 0xf7f5d000
bnep 13428 2 - Live 0xf7ed0000
l2cap 47378 16 rfcomm,bnep, Live 0xf7eac000
8021q 20355 0 - Live 0xf7e6c000
garp 5703 1 8021q, Live 0xf7e41000
stp 1626 2 bridge,garp, Live 0xf7e38000
llc 4258 3 bridge,garp,stp, Live 0xf7e30000
ipt_REJECT 1867 2 - Live 0xf8c98000
nf_conntrack_ipv4 7694 2 - Live 0xf8c8f000
nf_defrag_ipv4 1039 1 nf_conntrack_ipv4, Live 0xf8c85000
iptable_filter 2173 1 - Live 0xf8c7d000
ip_tables 9567 1 iptable_filter, Live 0xf8c74000
ip6t_REJECT 3987 2 - Live 0xf8c66000
nf_conntrack_ipv6 6940 2 - Live 0xf8c5d000
nf_defrag_ipv6 8839 1 nf_conntrack_ipv6, Live 0xf8c52000
xt_state 1064 4 - Live 0xf8c48000
nf_conntrack 65661 3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state, Live 0xf8c2b000
ip6table_filter 2245 1 - Live 0xf8c0c000
ip6_tables 10301 1 ip6table_filter, Live 0xf8c03000
ipv6 261676 27 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6, Live 0xf8bad000
fuse 62472 4 - Live 0xf8b3b000
uinput 6020 0 - Live 0xf8a16000
microcode 12248 0 - Live 0xf8a04000
ppdev 7297 0 - Live 0xf89f6000
vmware_balloon 5811 0 - Live 0xf89ec000
snd_ens1371 16851 4 - Live 0xf89de000
snd_rawmidi 18061 1 snd_ens1371, Live 0xf89cb000
snd_ac97_codec 95611 1 snd_ens1371, Live 0xf89a2000
ac97_bus 968 1 snd_ac97_codec, Live 0xf897d000
snd_seq 44677 0 - Live 0xf896a000
snd_seq_device 5124 2 snd_rawmidi,snd_seq, Live 0xf8953000
snd_pcm 68374 3 snd_ens1371,snd_ac97_codec, Live 0xf8935000
snd_timer 17216 3 snd_seq,snd_pcm, Live 0xf8913000
snd 52350 13 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer, Live 0xf88f5000
soundcore 6390 1 snd, Live 0xf88da000
snd_page_alloc 7236 1 snd_pcm, Live 0xf88cf000
pcnet32 29234 0 - Live 0xf88be000
mii 4476 1 pcnet32, Live 0xf88ac000
parport_pc 19086 1 - Live 0xf889f000
parport 29925 3 lp,ppdev,parport_pc, Live 0xf8887000
btusb 14139 2 - Live 0xf8872000
bluetooth 83558 9 rfcomm,sco,bnep,l2cap,btusb, Live 0xf884c000
rfkill 14794 3 bluetooth, Live 0xf8823000
sg 24038 0 - Live 0xf8810000
i2c_piix4 11156 0 - Live 0xf87fe000
i2c_core 25632 1 i2c_piix4, Live 0xf87eb000
ext4 335766 2 - Live 0xf807c000
jbd2 76054 1 ext4, Live 0xf7ff3000
mbcache 6017 1 ext4, Live 0xf7fd1000
sr_mod 13282 0 - Live 0xf7fc5000
cdrom 33416 1 sr_mod, Live 0xf7fb1000
sd_mod 34952 4 - Live 0xf7f97000
crc_t10dif 1217 1 sd_mod, Live 0xf7f84000
ahci 35561 0 - Live 0xf7f72000
pata_acpi 2513 0 - Live 0xf7f5b000
ata_generic 2805 0 - Live 0xf7f54000
ata_piix 20861 0 - Live 0xf7f2c000
mptspi 14567 3 - Live 0xf7ef7000
mptscsih 31362 1 mptspi, Live 0xf7ee2000
mptbase 86744 2 mptspi,mptscsih, Live 0xf7eb9000
scsi_transport_spi 20014 1 mptspi, Live 0xf7e93000
dm_mirror 11969 0 - Live 0xf7e83000
dm_region_hash 9644 1 dm_mirror, Live 0xf7e74000
dm_log 8322 2 dm_mirror,dm_region_hash, Live 0xf7e68000
dm_mod 70099 2 dm_mirror,dm_log, Live 0xf7e48000

lsmod指令就是通过这个虚拟设备(整个/proc就是一个沟通user mode和kernel mode的虚拟设备)获取到的

0x5: /proc/net: Various network pseudo files. The netstat command suite provides cleaner access to these files
net指令就是通过读者/proc/net目录下的文件得到的网络连接信息的

1. arp: The kernel address resolution protocol table
2. dev: Network device status information
3. ipx
4. ipx_route
5. rarp: used to provide rarp services
6. raw: A dump of the RAW socket table
7. route: Looks like route
8. snmp: Holds the ASCII databases used for the IP, ICMP, TCP, and UDP management information bases for an snmp agent.
9. tcp: A dump of the TCP socket table.
10. udp: A dump of the UDP socket table
11. unix: Lists UNIX domain sockets and their status

12. packet 
显示了当前正在处理网络数据包的进程
http://blog.cloudpassage.com/2012/09/05/warn-packet-sniffer-running/
http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html

这个目录下还有很多文件,但是作用不大,就没有列出来,有兴趣的朋友可以使用: ll /proc/net/进行查看

0x6: /proc/slabinfo

slabinfo - version: 2.1
# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
bridge_fdb_cache       0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
nf_conntrack_expect      0      0    168   23    1 : tunables  120   60    0 : slabdata      0      0      0
nf_conntrack_c0acb540      1     16    240   16    1 : tunables  120   60    0 : slabdata      1      1      0
fib6_nodes            22    113     32  113    1 : tunables  120   60    0 : slabdata      1      1      0
ip6_dst_cache         13     30    256   15    1 : tunables  120   60    0 : slabdata      2      2      0
ndisc_cache            1     20    192   20    1 : tunables  120   60    0 : slabdata      1      1      0
ip6_mrt_cache          0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
RAWv6                  4      5    768    5    1 : tunables   54   27    0 : slabdata      1      1      0
UDPLITEv6              0      0    704   11    2 : tunables   54   27    0 : slabdata      0      0      0
UDPv6                  0      0    704   11    2 : tunables   54   27    0 : slabdata      0      0      0
tw_sock_TCPv6          0      0    256   15    1 : tunables  120   60    0 : slabdata      0      0      0
request_sock_TCPv6      0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
TCPv6                  3      5   1408    5    2 : tunables   24   12    0 : slabdata      1      1      0
fuse_request           4     13    296   13    1 : tunables   54   27    0 : slabdata      1      1      0
fuse_inode             3      9    448    9    1 : tunables   54   27    0 : slabdata      1      1      0
jbd2_1k                0      0   1024    4    1 : tunables   54   27    0 : slabdata      0      0      0
avtab_node        551052 551145     16  203    1 : tunables  120   60    0 : slabdata   2715   2715      0
ext4_inode_cache   77697  78576    644    6    1 : tunables   54   27    0 : slabdata  13096  13096      0
ext4_xattr            11     78     48   78    1 : tunables  120   60    0 : slabdata      1      1      0
ext4_free_block_extents      0      0     36  101    1 : tunables  120   60    0 : slabdata      0      0      0
ext4_alloc_context      0      0    108   36    1 : tunables  120   60    0 : slabdata      0      0      0
ext4_prealloc_space      3     56     68   56    1 : tunables  120   60    0 : slabdata      1      1      0
ext4_system_zone       0      0     24  145    1 : tunables  120   60    0 : slabdata      0      0      0
jbd2_journal_handle      0      0     20  169    1 : tunables  120   60    0 : slabdata      0      0      0
jbd2_journal_head      8    315     60   63    1 : tunables  120   60    0 : slabdata      5      5      0
jbd2_revoke_table      4    254     12  254    1 : tunables  120   60    0 : slabdata      1      1      0
jbd2_revoke_record      0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
sd_ext_cdb             2    113     32  113    1 : tunables  120   60    0 : slabdata      1      1      0
scsi_sense_cache      90     90    128   30    1 : tunables  120   60    0 : slabdata      3      3      0
scsi_cmd_cache        80     80    192   20    1 : tunables  120   60    0 : slabdata      4      4      0
dm_raid1_read_record      0      0   1052    7    2 : tunables   24   12    0 : slabdata      0      0      0
kcopyd_job             0      0   2340    3    2 : tunables   24   12    0 : slabdata      0      0      0
io                     0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
dm_uevent              0      0   2460    3    2 : tunables   24   12    0 : slabdata      0      0      0
dm_rq_clone_bio_info      0      0      8  339    1 : tunables  120   60    0 : slabdata      0      0      0
dm_rq_target_io        0      0    248   16    1 : tunables  120   60    0 : slabdata      0      0      0
dm_target_io           0      0     16  203    1 : tunables  120   60    0 : slabdata      0      0      0
dm_io                  0      0     24  145    1 : tunables  120   60    0 : slabdata      0      0      0
flow_cache             0      0     84   46    1 : tunables  120   60    0 : slabdata      0      0      0
uhci_urb_priv          5    127     28  127    1 : tunables  120   60    0 : slabdata      1      1      0
cfq_io_context        75    112     68   56    1 : tunables  120   60    0 : slabdata      2      2      0
cfq_queue             75     78    152   26    1 : tunables  120   60    0 : slabdata      3      3      0
bsg_cmd                0      0    284   14    1 : tunables   54   27    0 : slabdata      0      0      0
mqueue_inode_cache      1      7    576    7    1 : tunables   54   27    0 : slabdata      1      1      0
isofs_inode_cache      0      0    380   10    1 : tunables   54   27    0 : slabdata      0      0      0
hugetlbfs_inode_cache      1     11    352   11    1 : tunables   54   27    0 : slabdata      1      1      0
dquot                  0      0    192   20    1 : tunables  120   60    0 : slabdata      0      0      0
kioctx                 0      0    256   15    1 : tunables  120   60    0 : slabdata      0      0      0
kiocb                  0      0    192   20    1 : tunables  120   60    0 : slabdata      0      0      0
inotify_event_private_data      2    203     16  203    1 : tunables  120   60    0 : slabdata      1      1      0
inotify_inode_mark_entry    234    252     60   63    1 : tunables  120   60    0 : slabdata      4      4      0
dnotify_mark_entry      0      0     60   63    1 : tunables  120   60    0 : slabdata      0      0      0
dnotify_struct         0      0     20  169    1 : tunables  120   60    0 : slabdata      0      0      0
dio                    0      0    320   12    1 : tunables   54   27    0 : slabdata      0      0      0
fasync_cache           5    203     16  203    1 : tunables  120   60    0 : slabdata      1      1      0
ksm_mm_slot            0      0     24  145    1 : tunables  120   60    0 : slabdata      0      0      0
ksm_stable_node        0      0     20  169    1 : tunables  120   60    0 : slabdata      0      0      0
ksm_rmap_item          0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
utrace_engine          0      0     28  127    1 : tunables  120   60    0 : slabdata      0      0      0
utrace                 0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
pid_namespace          0      0     76   50    1 : tunables  120   60    0 : slabdata      0      0      0
posix_timers_cache      0      0    120   32    1 : tunables  120   60    0 : slabdata      0      0      0
uid_cache              5     59     64   59    1 : tunables  120   60    0 : slabdata      1      1      0
UNIX                 592    609    512    7    1 : tunables   54   27    0 : slabdata     87     87      0
ip_mrt_cache           0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
UDP-Lite               0      0    640    6    1 : tunables   54   27    0 : slabdata      0      0      0
tcp_bind_bucket        4    113     32  113    1 : tunables  120   60    0 : slabdata      1      1      0
inet_peer_cache        2     59     64   59    1 : tunables  120   60    0 : slabdata      1      1      0
secpath_cache          0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
xfrm_dst_cache         0      0    320   12    1 : tunables   54   27    0 : slabdata      0      0      0
ip_fib_alias           0      0     16  203    1 : tunables  120   60    0 : slabdata      0      0      0
ip_fib_hash           10    101     36  101    1 : tunables  120   60    0 : slabdata      1      1      0
ip_dst_cache          21     30    256   15    1 : tunables  120   60    0 : slabdata      2      2      0
arp_cache              4     20    192   20    1 : tunables  120   60    0 : slabdata      1      1      0
PING                   0      0    576    7    1 : tunables   54   27    0 : slabdata      0      0      0
RAW                    2      7    576    7    1 : tunables   54   27    0 : slabdata      1      1      0
UDP                    2      6    640    6    1 : tunables   54   27    0 : slabdata      1      1      0
tw_sock_TCP            0      0    192   20    1 : tunables  120   60    0 : slabdata      0      0      0
request_sock_TCP       0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
TCP                    5      6   1280    3    1 : tunables   24   12    0 : slabdata      2      2      0
eventpoll_pwq         59    101     36  101    1 : tunables  120   60    0 : slabdata      1      1      0
eventpoll_epi         59     90    128   30    1 : tunables  120   60    0 : slabdata      3      3      0
sgpool-128             2      2   3072    2    2 : tunables   24   12    0 : slabdata      1      1      0
sgpool-64              2      5   1536    5    2 : tunables   24   12    0 : slabdata      1      1      0
sgpool-32              2      5    768    5    1 : tunables   54   27    0 : slabdata      1      1      0
sgpool-16              2     10    384   10    1 : tunables   54   27    0 : slabdata      1      1      0
sgpool-8               4     20    192   20    1 : tunables  120   60    0 : slabdata      1      1      0
scsi_data_buffer       0      0     20  169    1 : tunables  120   60    0 : slabdata      0      0      0
blkdev_integrity       0      0     64   59    1 : tunables  120   60    0 : slabdata      0      0      0
blkdev_queue          27     28   1744    4    2 : tunables   24   12    0 : slabdata      7      7      0
blkdev_requests       68     68    224   17    1 : tunables  120   60    0 : slabdata      4      4      0
blkdev_ioc            72    144     52   72    1 : tunables  120   60    0 : slabdata      2      2      0
fsnotify_event_holder      0      0     12  254    1 : tunables  120   60    0 : slabdata      0      0      0
fsnotify_event         2     63     60   63    1 : tunables  120   60    0 : slabdata      1      1      0
bio-0                  4     30    128   30    1 : tunables  120   60    0 : slabdata      1      1      0
biovec-256             2      2   3072    2    2 : tunables   24   12    0 : slabdata      1      1      0
biovec-128             0      0   1536    5    2 : tunables   24   12    0 : slabdata      0      0      0
biovec-64              0      0    768    5    1 : tunables   54   27    0 : slabdata      0      0      0
biovec-16              0      0    192   20    1 : tunables  120   60    0 : slabdata      0      0      0
bip-256                2      2   3136    2    2 : tunables   24   12    0 : slabdata      1      1      0
bip-128                0      0   1600    5    2 : tunables   24   12    0 : slabdata      0      0      0
bip-64                 0      0    832    9    2 : tunables   54   27    0 : slabdata      0      0      0
bip-16                 0      0    256   15    1 : tunables  120   60    0 : slabdata      0      0      0
bip-4                  0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
bip-1                  0      0     64   59    1 : tunables  120   60    0 : slabdata      0      0      0
sock_inode_cache     679    684    448    9    1 : tunables   54   27    0 : slabdata     76     76      0
skbuff_fclone_cache      0      0    384   10    1 : tunables   54   27    0 : slabdata      0      0      0
skbuff_head_cache    111    120    192   20    1 : tunables  120   60    0 : slabdata      6      6      0
file_lock_cache        7     39    100   39    1 : tunables  120   60    0 : slabdata      1      1      0
net_namespace          0      0   1376    5    2 : tunables   24   12    0 : slabdata      0      0      0
shmem_inode_cache    726    729    448    9    1 : tunables   54   27    0 : slabdata     81     81      0
Acpi-Operand        4288   4416     40   92    1 : tunables  120   60    0 : slabdata     48     48      0
Acpi-ParseExt          0      0     48   78    1 : tunables  120   60    0 : slabdata      0      0      0
Acpi-Parse             0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
Acpi-State             0      0     44   84    1 : tunables  120   60    0 : slabdata      0      0      0
Acpi-Namespace      3218   3335     24  145    1 : tunables  120   60    0 : slabdata     23     23      0
task_delay_info      279    300     76   50    1 : tunables  120   60    0 : slabdata      6      6      0
taskstats              7     12    328   12    1 : tunables   54   27    0 : slabdata      1      1      0
proc_inode_cache    4663   4790    384   10    1 : tunables   54   27    0 : slabdata    479    479      0
sigqueue               8     27    144   27    1 : tunables  120   60    0 : slabdata      1      1      0
bdev_cache            31     35    512    7    1 : tunables   54   27    0 : slabdata      5      5      0
sysfs_dir_cache    12048  12050     76   50    1 : tunables  120   60    0 : slabdata    241    241      0
mnt_cache             29     40    192   20    1 : tunables  120   60    0 : slabdata      2      2      0
filp                4890   5010    128   30    1 : tunables  120   60    0 : slabdata    167    167      0
inode_cache        10624  10626    352   11    1 : tunables   54   27    0 : slabdata    966    966      0
dentry            103609 105386    132   29    1 : tunables  120   60    0 : slabdata   3634   3634      0
names_cache            6      6   4096    1    1 : tunables   24   12    0 : slabdata      6      6      0
avc_node             512    624     48   78    1 : tunables  120   60    0 : slabdata      8      8      0
selinux_inode_security  94408  96012     44   84    1 : tunables  120   60    0 : slabdata   1143   1143      0
radix_tree_node    22287  22347    296   13    1 : tunables   54   27    0 : slabdata   1719   1719      0
key_jar                3     30    128   30    1 : tunables  120   60    0 : slabdata      1      1      0
buffer_head        27980  30485     56   67    1 : tunables  120   60    0 : slabdata    455    455      0
nsproxy                0      0     24  145    1 : tunables  120   60    0 : slabdata      0      0      0
vm_area_struct      9472  10218    100   39    1 : tunables  120   60    0 : slabdata    262    262      0
mm_struct             99     99    448    9    1 : tunables   54   27    0 : slabdata     11     11      0
fs_cache             104    113     32  113    1 : tunables  120   60    0 : slabdata      1      1      0
files_cache          105    105    256   15    1 : tunables  120   60    0 : slabdata      7      7      0
signal_cache         180    180    640    6    1 : tunables   54   27    0 : slabdata     30     30      0
sighand_cache        177    177   1344    3    1 : tunables   24   12    0 : slabdata     59     59      0
task_xstate          279    279    832    9    2 : tunables   54   27    0 : slabdata     31     31      0
task_struct          274    276   1360    3    1 : tunables   24   12    0 : slabdata     92     92      0
cred_jar             423    510    128   30    1 : tunables  120   60    0 : slabdata     17     17      0
anon_vma_chain      6501   7540     24  145    1 : tunables  120   60    0 : slabdata     52     52      0
anon_vma            5053   5577     20  169    1 : tunables  120   60    0 : slabdata     33     33      0
pid                  295    295     64   59    1 : tunables  120   60    0 : slabdata      5      5      0
idr_layer_cache      626    650    148   26    1 : tunables  120   60    0 : slabdata     25     25      0
size-4194304(DMA)      0      0 4194304    1 1024 : tunables    1    1    0 : slabdata      0      0      0
size-4194304           0      0 4194304    1 1024 : tunables    1    1    0 : slabdata      0      0      0
size-2097152(DMA)      0      0 2097152    1  512 : tunables    1    1    0 : slabdata      0      0      0
size-2097152           0      0 2097152    1  512 : tunables    1    1    0 : slabdata      0      0      0
size-1048576(DMA)      0      0 1048576    1  256 : tunables    1    1    0 : slabdata      0      0      0
size-1048576           0      0 1048576    1  256 : tunables    1    1    0 : slabdata      0      0      0
size-524288(DMA)       0      0 524288    1  128 : tunables    1    1    0 : slabdata      0      0      0
size-524288            0      0 524288    1  128 : tunables    1    1    0 : slabdata      0      0      0
size-262144(DMA)       0      0 262144    1   64 : tunables    1    1    0 : slabdata      0      0      0
size-262144            0      0 262144    1   64 : tunables    1    1    0 : slabdata      0      0      0
size-131072(DMA)       0      0 131072    1   32 : tunables    8    4    0 : slabdata      0      0      0
size-131072            0      0 131072    1   32 : tunables    8    4    0 : slabdata      0      0      0
size-65536(DMA)        0      0  65536    1   16 : tunables    8    4    0 : slabdata      0      0      0
size-65536             2      2  65536    1   16 : tunables    8    4    0 : slabdata      2      2      0
size-32768(DMA)        0      0  32768    1    8 : tunables    8    4    0 : slabdata      0      0      0
size-32768             0      0  32768    1    8 : tunables    8    4    0 : slabdata      0      0      0
size-16384(DMA)        0      0  16384    1    4 : tunables    8    4    0 : slabdata      0      0      0
size-16384            37     37  16384    1    4 : tunables    8    4    0 : slabdata     37     37      0
size-8192(DMA)         0      0   8192    1    2 : tunables    8    4    0 : slabdata      0      0      0
size-8192              9      9   8192    1    2 : tunables    8    4    0 : slabdata      9      9      0
size-4096(DMA)         0      0   4096    1    1 : tunables   24   12    0 : slabdata      0      0      0
size-4096             59     59   4096    1    1 : tunables   24   12    0 : slabdata     59     59      0
size-2048(DMA)         0      0   2048    2    1 : tunables   24   12    0 : slabdata      0      0      0
size-2048            150    150   2048    2    1 : tunables   24   12    0 : slabdata     75     75      0
size-1024(DMA)         0      0   1024    4    1 : tunables   54   27    0 : slabdata      0      0      0
size-1024            516    516   1024    4    1 : tunables   54   27    0 : slabdata    129    129      0
size-512(DMA)          0      0    512    8    1 : tunables   54   27    0 : slabdata      0      0      0
size-512             842    856    512    8    1 : tunables   54   27    0 : slabdata    107    107      0
size-256(DMA)          0      0    256   15    1 : tunables  120   60    0 : slabdata      0      0      0
size-256             144    150    256   15    1 : tunables  120   60    0 : slabdata     10     10      0
size-192(DMA)          0      0    192   20    1 : tunables  120   60    0 : slabdata      0      0      0
size-192             960    960    192   20    1 : tunables  120   60    0 : slabdata     48     48      0
size-128(DMA)          0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
size-128             776    780    128   30    1 : tunables  120   60    0 : slabdata     26     26      0
size-96(DMA)           0      0    128   30    1 : tunables  120   60    0 : slabdata      0      0      0
size-96             1470   1470    128   30    1 : tunables  120   60    0 : slabdata     49     49      0
size-64(DMA)           0      0     64   59    1 : tunables  120   60    0 : slabdata      0      0      0
size-32(DMA)           0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0
size-64             5007   5133     64   59    1 : tunables  120   60    0 : slabdata     87     87      0
size-32           368885 369058     32  113    1 : tunables  120   60    0 : slabdata   3266   3266      0
kmem_cache           186    195    256   15    1 : tunables  120   60    0 : slabdata     13     13      0

0x7: /proc/sys: Directory corresponding to kernel variables

1. debug
2. dev
3. fs
4. kernel
    4.1 domainname
    4.2 file-max
    4.3 file-nr
    4.4 hostname
    4.5 inode-max
    4.6 inode-nr
    4.7 osrelease
    4.8 ostype
    4.9 panic
    4.10 real-root-dev
    4.11 securelevel
    4.12 version
5. net
6. proc
7. sunrpc
8. vm

0x8: /proc/kallsyms

在v2.6.0的内核中,为了更好地调试内核,引入新的功能kallsyms(前提是编译内核的时候开启了: static int all_symbols = 1;)
kallsyms把内核用到的所有函数地址和名称连接进内核文件,当内核启动后,同时加载到内存中

1. 当发生oops,例如在内核中访问空地址时,内核就会解析eip位于哪个函数中,并打印出形如:
EIP is at cleanup_module+0xb/0x1d [client]的信息,
2. 调用栈也用可读的方式显示出来.
Call Trace:
[<c013096d>] sys_delete_module+0x191/0x1ce
[<c02dd30a>] do_page_fault+0x189/0x51d
[<c0102bc1>] syscall_call+0x7/0xb
3. 还可以查找某个函数例如的sys_fork的地址,然后hook它,kprobe就是这么干的

在v2.6.20 中,还可以包含所有符号的地址,应此功能更强大,就相当于内核中有了System.map了,这时候就可以很方便的查找sys_call_table的地址了

echo 0 > /proc/sys/kernel/kptr_restrict sysctl
cat /proc/kallsyms 
//输出全部内核导出的、未导出的符号表

Relevant Link:

http://blog.sina.com.cn/s/blog_86b97e1601010z3b.html
http://blog.chinaunix.net/uid-27717694-id-3985448.html 

 

3. 进程信息

0x1: 以进程PID为目录名的目录

当前linux运行中的每一个进程在/proc下一定都可以找到一个对应的以它的进程号作为目录名的子目录,这个目录描述这个进程的相关信息。
每个进程对应的目录都包含了如下的子目录

1. cmdline: The command line the process was invoked with
启动当前进程的命令行,即用户使用什么指令来启动这个进程,例如: /usr/bin/shell arg1 arg2,则这个shell进程的cmdline就是"/usr/bin/shell arg1 arg2"

2. cwd: A link to the current working directory of the process
指向当前进程的"工作目录"的符号链接

3. environ: The process environment
当前进程的环境变量

4. exe: A pointer appearing as a symbolic link to the binary that was executed
这个进程对应于磁盘上的程序文件名称,包括完整路径,例如"/usr/bin/shell"

5. fd: A subdirectory with one entry per file that the process has open
    1) 0-std input
    2) 1-std output
    3) 2-std err
6. maps: Contains the currently mapped memory regions and their access permissions. The format is:
address            perms    offset        dev    idnode    filename
08048000-0804e000    r-xp    00000400    0302    192233    /sbin/init
0804e000-0804f000    rw-p    00005000    0302    192233    /sbin/init 

7. mem: The memory of the process that accesses the /dev/mem device

8. root: Points to the root filesystem
指向根目录"/"的符号链接

9. stat: Status information about the process used by the ps command 
    1) pid: Process id(进程pdi)
    2) comm: The executable filename(可执行文件名)
    3) state:
        3.1) R(running)
        3.2) S(sleeping interruptable)
        3.3) D(sleeping)
        3.4) Z(zombie)
        3.5) T(stopped on a signal)    
    4) ppid: Parent process ID(父进程pid)
    5) pgrp: Process group ID(进程所属组)
    6) session: The process session ID(进程session会话id)
    7) tty: The tty the process is using(进程所使用的tty)
    8) tpgid: The process group ID of the owning process of the tty the current process is connected to.
    9) flags: Process flags
    10) minflt: Minor faults the process has made
    11) cminflt: Minor faults the process and its children have made.
    12) majflt
    13) cmajflt
    14) utime: The number of jiffies (processor time) that this process has been scheduled in user mode
    当前进程在"用户态"所消耗的CPU调度时间
    15) stime: in kernel mode
    当前进程在"内核态"所消耗的CPU调度时间
    16) cutime: This process and its children in user mode
    当前进程以及子进程在"用户态"所消耗的CPU时间
    17) cstime: in kernel mode
    当前进程以及子进程在"内核态"所消耗的CPU时间
    18) counter: The maximum time of this processes next time slice
    这个字段和CPU调度相关,counter表明它的所剩的时间片,即动态优先级(时间片越少自然优先级就越低了)
    19) priority: The priority of the nice(process priority) value plus fifteen
    20) timeout: The time in jiffies of the process's next timeout.
    21) itrealvalue: The time in jiffies before the next SIGALRM is sent to the process because of an internal timer.
    22) starttime: Time the process started after system boot
    当前进程已运行时间
    23) vsize: Virtual memory size
    当前进程所占用的虚拟内存
    24) rlim: Current limit in bytes of the rss of the process.
    25) startcode: The address above which program text can run.
    26) endcode: The address below which program text can run.
    27) startstack: The address of the start of the stack
    28) kstkesp: The current value of esp for the process as found in the kernel stack page.
    29) kstkeip: The current 32 bit instruction pointer, EIP.
    30) signal: The bitmap of pending signals
    31) blocked: The bitmap of blocked signals
    32) sigignore: The bitmap of ignored signals
    33) sigcatch: The bitmap of catched signals
    34) wchan: The channel in which the process is waiting. The "ps -l" command gives somewhat of a list.

0x2: /proc/[pid]/maps

这个文件用于查看进程的虚拟地址空间是如何使用的,文件有6列,分别为:

1. 地址:库在进程里地址范围
2. 权限:虚拟内存的权限
    1) r = 读
    2) w = 写
    3) x = 执行
    4) s = 共享
    5) p = 私有
3. 偏移量:库在进程里地址范围
4. 设备:映像文件的主设备号和次设备号 
5. 节点:映像文件的节点号
6. 路径: 映像文件的路径

每项都与一个"struct vm_area_struct"结构成员对应

http://www.cnblogs.com/LittleHann/p/3865490.html
搜索:0x2: vm_area_struct

Relevant Link:

http://blog.sina.com.cn/s/blog_49f07e46010148m0.html

0x3: /proc/[pid]/mem

Linux下使用ptrace调用可以监视和控制其他进程,并能够改变进程的寄存器值和内核映像。ptrace提供了PTRACE_PEEKDATA来实现进程内存读取,这是原语级的操作,在x86_64下一次仅读取8字节。因此在读取量较大时,需要反复调用ptrace。/proc/<PID>/mem接口提供了read调用,只需一次就可以读取任意大小内存

Relevant Link:

http://my.oschina.net/u/180497/blog/141673
http://yuangeqingtian.blog.51cto.com/6994701/1214789

 

4. 硬件设备相关

0x1: /proc/bus

1. pci: A directory
        1.1 00: A directory 
        containing filenames like 00.0, 07.0, 07.1, 07.2, 08.0, 09.0, and 0b.0. Each are 256 bytes long and appear to be in binary form 
        1.2 02: A directory  
        1.3 devices
        I think this file numerically identifies devices on the pci bus. My file contains:
        枚举列出了当前系统挂接的总线设备
    2. input: A directory
    输入设备
    3. pccard: A directory
    pccard设备
    4. usb: A directory
    usb设备

0x2: /proc/cpuinfo: CPU architecture information

processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 69
model name    : Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
stepping    : 1
cpu MHz        : 2294.740
cache size    : 3072 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 sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx pdpe1gb rdtscp constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 fma pcid sse4_1 sse4_2 x2apic movbe popcnt xsave avx f16c rdrand hypervisor ida arat epb xsaveopt pln pts dts fsgsbase smep
bogomips    : 4589.48
clflush size    : 64
cache_alignment    : 64
address sizes    : 40 bits physical, 48 bits virtual
power management:

0x3: /proc/devices: Text listing of major numbers and device groups

列出当前系统挂载(mount)的设备

Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  6 lp
  7 vcs
 10 misc
 13 input
 14 sound
 21 sg
 29 fb
 99 ppdev
116 alsa
128 ptm
136 pts
162 raw
180 usb
189 usb_device
202 cpu/msr
203 cpu/cpuid
216 rfcomm
249 hidraw
250 usbmon
251 bsg
252 pcmcia
253 watchdog
254 rtc

Block devices:
  1 ramdisk
259 blkext
  7 loop
  8 sd
  9 md
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp

0x4: /proc/dma: A list of ISA direct memory access channels in use

4: cascade

0x5: /proc/fs

1. ext4
2. jbd2
3. nfsd 

0x6: /proc/mounts: Shows mounted filesystems. Shows device, mount point, filesystem type, permissions, and two flags

rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=960940k,nr_inodes=183013,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0
/dev/sda3 / ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /selinux selinuxfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=960940k,nr_inodes=183013,mode=755 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0

0x7: /proc/mtrr

reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back

0x8: /proc/scsi: A directory with scsi files and driver directories

1. scsi: A list of all scsi devices known to the kernel
2. device_info - Various scsi driver brand names

dr-xr-xr-x   3 root root 0 Jun  4 17:03 ./
dr-xr-xr-x 117 root root 0 May 21 21:10 ../
-r--r--r--   1 root root 0 Jun  4 17:03 device_info
-r--r--r--   1 root root 0 Jun  4 17:03 scsi
dr-xr-xr-x   2 root root 0 Jun  4 17:03 sg/

0x9: /proc/ioports

root@iZ231vybmaeZ:/usr/local/aegis/aegis_client/aegis_00_73# cat /proc/ioports 
0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0064-0064 : keyboard
  0070-0071 : rtc0
  0080-008f : dma page reg
  00a0-00a1 : pic2
  00c0-00df : dma2
  00f0-00ff : fpu
  0170-0177 : 0000:00:01.1
    0170-0177 : ata_piix
  01f0-01f7 : 0000:00:01.1
    01f0-01f7 : ata_piix
  0376-0376 : 0000:00:01.1
    0376-0376 : ata_piix
  03c0-03df : vga+
  03f2-03f2 : floppy
  03f4-03f5 : floppy
  03f6-03f6 : 0000:00:01.1
    03f6-03f6 : ata_piix
  03f7-03f7 : floppy
  04d0-04d1 : pnp 00:02
  08a0-08a3 : pnp 00:02
  0cc0-0ccf : pnp 00:02
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
  10c0-1141 : pnp 00:01
  1f40-1f7f : 0000:00:01.3
    1f40-1f43 : ACPI PM1a_EVT_BLK
    1f44-1f45 : ACPI PM1a_CNT_BLK
    1f48-1f4b : ACPI PM_TMR
    1f68-1f6f : ACPI GPE0_BLK
  b010-b015 : ACPI CPU throttle
  b044-b047 : pnp 00:01
  c000-c0ff : 0000:00:03.0
    c000-c0ff : xen-platform-pci
  c100-c11f : 0000:00:01.2
    c100-c11f : uhci_hcd
  c120-c12f : 0000:00:01.1
    c120-c12f : ata_piix

 

5. 系统信息

0x1: /proc/cmdline: 系统命令行

cmdline: The command line at system startup.
My file contains:

"ro root=UUID=c03bcf41-af81-41b2-b476-e986f278bbb2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=129M@0M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet"

0x2: /proc/filesystems: A text listing of the filesystems compiled into the kernel

显示当前系统已经安装支持的文件系统驱动(即支持哪些文件系统)

nodev    sysfs
nodev    rootfs
nodev    bdev
nodev    proc
nodev    cgroup
nodev    cpuset
nodev    tmpfs
nodev    devtmpfs
nodev    binfmt_misc
nodev    debugfs
nodev    securityfs
nodev    sockfs
nodev    usbfs
nodev    pipefs
nodev    anon_inodefs
nodev    inotifyfs
nodev    devpts
nodev    ramfs
nodev    hugetlbfs
    iso9660
nodev    pstore
nodev    mqueue
nodev    selinuxfs
    ext4
nodev    fuse
    fuseblk
nodev    fusectl

0x3: /proc/kcore: Represents the physical memory of the system stored in the core format

/proc/kcore: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from 'ro root=UUID=c03bcf41-af81-41b2-b476-e986f278bbb2 rd_NO_LUKS rd_NO_LVM LANG=en_U'

0x4: /proc/kmsg: This file can be used to log system messages

输入指令

cat /proc/kmsg

命令行会进入消息循环阻塞状态,不断打印出当前系统的的message,我们可以利用这个特性进行内核开发的调试

0x5: /proc/loadavg: Load average numbers

显示当前系统负载情况

0.00 0.00 0.00 1/275 24279

0x6: /proc/meminfo: report memory usage

MemTotal:        1938768 kB
MemFree:          593004 kB
Buffers:           78100 kB
Cached:           750600 kB
SwapCached:            0 kB
Active:           589528 kB
Inactive:         373588 kB
Active(anon):      48524 kB
Inactive(anon):    90908 kB
Active(file):     541004 kB
Inactive(file):   282680 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:       1189832 kB
HighFree:         584536 kB
LowTotal:         748936 kB
LowFree:            8468 kB
SwapTotal:       4161528 kB
SwapFree:        4161528 kB
Dirty:                24 kB
Writeback:             0 kB
AnonPages:        134436 kB
Mapped:            70708 kB
Shmem:              5016 kB
Slab:             353944 kB
SReclaimable:      31848 kB
SUnreclaim:       322096 kB
KernelStack:        2184 kB
PageTables:         7208 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5130912 kB
Committed_AS:     650372 kB
VmallocTotal:     122880 kB
VmallocUsed:        5908 kB
VmallocChunk:     103832 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       12280 kB
DirectMap2M:      894976 kB

0x7: /proc/misc

229 fuse
223 uinput
184 microcode
 57 rfkill
 58 device-mapper
 59 network_throughput
 60 network_latency
 61 cpu_dma_latency
 62 crash
175 agpgart
144 nvram
228 hpet
231 snapshot
227 mcelog
 63 vga_arbiter

0x8: /proc/partitions: Lists the partitions and their device major and minor numbers

major minor  #blocks  name
   8        0   10485760 sda
   8        1     307200 sda1
   8        2    4161536 sda2
   8        3    6016000 sda3

0x9: /proc/stat: kernel statistics subdirectory

显示和系统当前运行状态有关的信息

1. cpu: Jiffies spent in user mode, user mode with low priority, system mode, and idle.
2. disk: Four disk entries not yet implemented
3. page: The number of pages the system paged in and out.
4. swap: Swap pages that have been brought in and out.
5. intr: The number of interrupts received form the system boot
6. ctxt: The number of context switches that the system underwent.
7. btime: Boot time in seconds since Jan 1, 1970.

cat /proc/stat

cpu  3355 2034 14361 34172 957 143 75 0 0
cpu0 3355 2034 14361 34172 957 143 75 0 0
intr 313510 209 383 0 3 268 0 0 0 1 0 0 0 3578 0 0 0 2034 79701 478 294 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 364763
btime 1406815679
processes 3447
procs_running 1
procs_blocked 0
softirq 520879 0 205379 252 298 79676 0 592 0 100 234582

0x10: /proc/swaps: A file defining swap partitions

显示当前系统内存交换文件

Filename    Type        Size          Used    Priority
/dev/sda2    partition    4161528        0    -1

0x11: /proc/tty

1. driver: A directory
    1. serial 
2. drivers: A file listing device drivers
/dev/tty             /dev/tty        5       0 system:/dev/tty
/dev/console         /dev/console    5       1 system:console
/dev/ptmx            /dev/ptmx       5       2 system
/dev/vc/0            /dev/vc/0       4       0 system:vtmaster
rfcomm               /dev/rfcomm   216 0-255 serial
serial               /dev/ttyS       4 64-95 serial
pty_slave            /dev/pts      136 0-1048575 pty:slave
pty_master           /dev/ptm      128 0-1048575 pty:master
unknown              /dev/tty        4 1-63 console

0x12: /proc/version

Linux version 2.6.32-431.20.5.el6.centos.plus.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jul 25 06:25:17 UTC 2014

0x13: /proc/sys/

The /proc/sys/ directory is different from others in /proc/ because it not only provides information about the system but also allows the system administrator to immediately enable and disable kernel features.

Relevant Link:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-proc-dir-sys.html

 

6. /dev简介

设备文件分为两种: 块设备文件(b)和字符设备文件(c),对于/dev我们需要明白,它不是设备驱动,linux有自己的设备驱动,/dev下的文件只是访问相应驱动的接口
设备文件一般存放在/dev目录下,对常见设备文件作如下说明:

/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台(tty)
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:随机数设备
/dev/urandom:随机数设备

0x1: tty(本地交互终端shell设备)
"tty"这个词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后 来这东西被键盘与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
通常我们在linux下看到的控制台(console)是由几个设备完成的。分别是

1. /dev/tty0
tty0就是/dev/console,由linux/drivers/char/console.c对应

2. /dev/tty1
3. /dev/tty2
tty1,tty2就是不同的虚拟终端(virtual console)。通常使用热键alt+Fn来在这些虚拟终端之间进行切换。由和vt.c对应

4. /dev/tty3
5. /dev/tty4
6. /dev/tty5
7. /dev/tty6
...

0x2: pty(远程登录交互终端shell设备)

我们在远程telnet到主机或使用xterm时也需要一个终端交互,这就是虚拟终端pty(pseudo-tty)

ll /dev/pts

/dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录。由于可能有好几千个用户登陆,所以/dev/pts其实是动态生成的,不象其他设备文件是构建系统时就已经产生的硬盘节点(如果未使用devfs)

1. /dev/pts/0
第一个用户登陆,console的设备文件为/dev/pts/0
2. /dev/pts/1
第二个为/dev/pts/1
3. 以此类推
//这里的0、1、2、3不是具体的标准输入或输出,而是整个控制台

Relevant Link:

http://blog.csdn.net/maopig/article/details/7195048
http://www.jz123.cn/text/1929468.html

 

7. 内存相关

0x1: /proc/iomem: I/O内存

zhenghan.zh@miser010249213142.yh $ cat /proc/iomem 
00010000-0009dbff : System RAM
0009dc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c8bff : Video ROM
000c9000-000c97ff : Adapter ROM
000c9800-000cb9ff : Adapter ROM
000f0000-000fffff : System ROM
00100000-dfffcfff : System RAM
  00200000-0047dd90 : Kernel code
  0047dd91-005c075f : Kernel data
dfffd000-dfffffff : reserved
f0000000-f1ffffff : 0000:00:02.0
f2000000-f2000fff : 0000:00:02.0
f2010000-f201ffff : 0000:00:02.0
f2020000-f2020fff : 0000:00:03.0
  f2020000-f2020fff : virtio-pci
f2030000-f203ffff : 0000:00:03.0
f2040000-f2040fff : 0000:00:04.0
  f2040000-f2040fff : virtio-pci
fffbc000-ffffffff : reserved
100000000-2132fffff : System RAM

 

Copyright (c) 2014 LittleHann All rights reserved

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!