可以将其中的内容分为三类来看:以数字命名的文件夹,非数字命名的文件夹和单纯的文件。
全数字的文件夹代表了系统的所有进程,进程的PID即为文件夹名。如果仔细查看文件夹属性的话,这一类文件夹都是只读的。值得注意的是这里有一个特殊的符号连接“self”,代表了系统中的当前正在执行的进程。关于进程的更详细的内容就都包含在文件夹中的各个文件中了。那些非数字命名的文件夹比如:driver,bus,scsi等等一般表示了系统不同模块的相应信息。其中的sys是设置内核运行时参数很重要的途径。另外就是一些文件了,比如:cpuinfo,meminfo,devices等等,直接表示系统相应硬件信息。常用的总结如下:
上边说这里的内容都是由系统实时生成的,而且大部分内容都是只读的,所以想要查看其中某一文件的信息,只需要使用cat就可以了(习惯用法)。比如查看cpu信息,命令如下:
上边已经说过,以数字命名的文件夹都是对应相应的进程的信息。随便选一个文件夹,查看一下内容大致如下:
attr cpuset io mountinfo pagemap smaps task
auxv cwd latency mounts personality stack wchan
cgroup environ limits mountstats root
clear_refs exe loginuid net sched statm
cmdline fd maps oom_adj schedstat status
coredump_filter fdinfo mem oom_score sessionid syscall
3348这个进程是我正在运行的bash的进程。需要注意的是当你进入一个不属于你的进程文件夹之后,某些文件可能权限不允许而不能访问。和上边情况类似,每个文件都表示所属进程某一方面的信息。常用的如下:
cmdline:表示进程启动时给它传递的所有参数。cwd:一个连接到此进程当前工作目录的符号连接。environ:包含此进程的全部环境变量。fd/:包含此进程所属的全部文件描述符的符号连接,可能会指向正在使用的文件或设备。status:包含全部的进程状态信息,监控进程主要查看这个文件。平时常用来显示进程信息的ps和top命令就是通过读取/proc文件系统中的内容来获取进程信息的。
设置内核参数虽说/proc下大部分文件都是只读的,仍然有一小部分是管理员可写的。其中最重要的就是/proc/sys文件夹中的内容。在这里管理员可以动态设定系统内核的各种参数,而不必等机器重启之后才生效。同样应为这里的内容是实时变化的,使用不同编辑器打开->编辑->保存这样的方式来设置参数是不可行的。因为很可能在你编辑内容的时候,它已经发生了变化。正确的方法是使用echo命令。比如你想修改系统默认允许进程打开最大文件描述上限,可以这样: