/proc/* 代表的意义

小标题的图示 /proc/* 代表的意义

其实,我们之前提到的所谓的程序都是在内存当中嘛!而内存当中的数据又都是写入到/proc/* 这个目录下的,所以罗,我们当然可以直接观察 /proc 这个目录当中的文件啊!如果你观察过 /proc 这个目录的话,应该会发现他有点像这样:

[root@www ~]# ll /proc
dr-xr-xr-x  5 root      root              0 Mar 11 08:46 1
dr-xr-xr-x  5 root      root              0 Mar 11 00:46 10
dr-xr-xr-x  5 root      root              0 Mar 11 00:46 11
....(中间省略)....
-r--r--r--  1 root      root              0 Mar 20 12:11 uptime
-r--r--r--  1 root      root              0 Mar 20 12:11 version
-r--r--r--  1 root      root              0 Mar 20 12:11 vmstat
-r--r--r--  1 root      root              0 Mar 20 12:11 zoneinfo

基本上,目前主机上面的各个程序的 PID 都是以目录的型态存在於 /proc 当中。举例来说,我们启动所运行的第一支程序 init 他的 PID 是 1 ,这个 PID 的所有相关资讯都写入在 /proc/1/* 当中!若我们直接观察 PID 为 1 的数据好了,他有点像这样:

[root@www ~]# ll /proc/1
dr-xr-xr-x 2 root root 0 Mar 12 11:04 attr
-r-------- 1 root root 0 Mar 17 14:32 auxv
-r--r--r-- 1 root root 0 Mar 17 14:32 cmdline  <==就是命令串
-rw-r--r-- 1 root root 0 Mar 17 14:32 coredump_filter
-r--r--r-- 1 root root 0 Mar 17 14:32 cpuset
lrwxrwxrwx 1 root root 0 Mar 17 14:32 cwd -> /
-r-------- 1 root root 0 Mar 17 14:32 environ  <==一些环境变量
lrwxrwxrwx 1 root root 0 Mar 17 14:32 exe -> /sbin/init  <==实际运行的命令
....(以下省略)....

里面的数据还挺多的,不过,比较有趣的其实是两个文件,分别是:

  • cmdline:这个程序被启动的命令串;
  • environ:这个程序的环境变量内容。

很有趣吧!如果你查阅一下 cmdline 的话,就会发现:

[root@www ~]# cat /proc/1/cmdline
init [5]

就是这个命令、选项与参数启动 init 的啦!这还是跟某个特定的 PID 有关的内容呢,如果是针对整个 Linux 系统相关的参数呢?那就是在 /proc 目录底下的文件啦!相关的文件与对应的内容是这样的:(注3)

档名文件内容
/proc/cmdline加载 kernel 时所下达的相关参数!查阅此文件,可了解系统是如何启动的!
/proc/cpuinfo本机的 CPU 的相关资讯,包含时脉、类型与运算功能等
/proc/devices这个文件记录了系统各个主要装置的主要装置代号,与 mknod 有关呢!
/proc/filesystems目前系统已经加载的文件系统罗!
/proc/interrupts目前系统上面的 IRQ 分配状态。
/proc/ioports目前系统上面各个装置所配置的 I/O 位址。
/proc/kcore这个就是内存的大小啦!好大对吧!但是不要读他啦!
/proc/loadavg还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!
/proc/meminfo使用 free 列出的内存资讯,嘿嘿!在这里也能够查阅到!
/proc/modules目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!
/proc/mounts系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!
/proc/swaps到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦!
/proc/partitions使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔!
/proc/pci在 PCI 汇流排上面,每个装置的详细情况!可用 lspci 来查阅!
/proc/uptime就是用 uptime 的时候,会出现的资讯啦!
/proc/version核心的版本,就是用 uname -a 显示的内容啦!
/proc/bus/*一些汇流排的装置,还有 U盘 的装置也记录在此喔!

其实,上面这些文件鸟哥在此建议您可以使用 cat 去查阅看看,不必深入了解,不过,观看过文件内容后,毕竟会比较有感觉啦!如果未来您想要自行撰写某些工具软件,那么这个目录底下的相关文件可能会对您有点帮助的喔!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值