proc文件系统的作用是访问系统内核信息
 proc不是一个真实的文件系统,它不占系统的外存空间,只是以文件的形式为用户访问linux内核数据提供接口,
因为系统内核总是动态的变化,所以我们所捕捉到的也只是系统内核变化的瞬间。

[root@apache ~]# cd /proc/
[root@apache proc]# ls
1     1428  1645  28   867          ioports       partitions
10    1448  1648  29   9            irq           sched_debug
1073  15    1652  3    912          kallsyms      schedstat
11    1526  1689  30   acpi         kcore         scsi
1127  1538  17    31   asound       keys          self
1171  1539  18    345  buddyinfo    key-users  
打开proc目录可以看到很多目录文件名,同时也可以看到当前系统正在运行的进程pid,
甚至通过pid可以找到正在运行的文件。。

下面我们可以看到它一直是在变化的
[root@apache proc]# ps aux | grep vi
root      1726  0.0  0.1   4336   732 pts/0    S+   21:53   0:00 grep vi
[root@apache proc]# ps aux | grep vi
root      1728  0.0  0.1   4336   732 pts/0    S+   21:53   0:00 grep vi
[root@apache proc]# ps aux | grep vi
root      1730  0.0  0.1   4336   732 pts/0    S+   21:53   0:00 grep vi
[root@apache proc]# ps aux | grep vi
root      1732  0.0  0.1   4336   732 pts/0    S+   21:53   0:00 grep vi

下面我们捕捉一个看看:

[root@apache proc]# ls -l /proc/1774/exe  //查询vim所执行的程序 lrwxrwxrwx. 1 root root 0 Jun 12 21:56 /proc/1774/exe -> /usr/bin/vim

[root@apache proc]# ls -l /proc/1774/cwd //查询vim当前的工作目录,后面不要跟 /
lr我们可以验证下:
[root@apache proc]# ls -l /proc/1774/cwd/   //查看vim工作目录下的文件,果然是root目录
total 44wxrwxrwx. 1 root root 0 Jun 12 21:57 /proc/1774/cwd -> /root

-rw-------. 1 root root  1215 May 24 15:22 anaconda-ks.cfg
-rw-r--r--. 1 root root 25032 May 24 15:22 install.log
-rw-r--r--. 1 root root  7345 May 24 15:21 install.log.syslog

[root@apache proc]# ls -l /proc/1774/environ //查看vim当前的运行环境
-r--------. 1 root root 0 Jun 12 21:57 /proc/1774/environ

当然proc目录当然不是我们想想的那么小,它很强大。
[root@apache proc]# cat /proc/cpuinfo  //查看我们系统cpu的信息
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model  : 58
model name : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping : 9
cpu MHz  : 2494.379 //二级缓存
cache size :3072 KB //三级缓存
========很多很多

[root@apache proc]# cat /proc/meminfo  //也可以查到我们内存的信息
MemTotal:         443692 kB
MemFree:          307832 kB
Buffers:           11892 kB
Cached:            63692 kB
SwapCached:            0 kB
Active:            36008 kB
Inactive:          53752 kB
Active(anon):      14400 kB
Inactive(anon):        8 kB
============

[root@apache proc]# cat /proc/modules  //查看当前系统被加载的模块,当然也可以使用lsmod
autofs4 20981 3 - Live 0xdd7cd000
sunrpc 215000 1 - Live 0xdd776000
ipt_REJECT 1867 2 - Live 0xdd6e9000
nf_conntrack_ipv4 7694 2 - Live 0xdd6dd000
nf_defrag_ipv4 1039 1 nf_conntrack_ipv4, Live 0xdd6d0000
iptable_filter 2173 1 - Live 0xdd6c4000
ip_tables 9567 1 iptable_filter, Live 0xdd6b8000
ip6t_REJECT 3987 2 - Live 0xdd6a5000
nf_conntrack_ipv6 7207 2 - Live 0xdd699000
nf_defrag_ipv6 9873 1 nf_conntrack_ipv6, Live 0xdd68b000
xt_state 1064 4 - Live 0xdd67e00

=====================
说到模块,我们也可以查看模块的具体信息:
[root@apache proc]# modinfo sg //命令加模块显示模块的信息
filename:       /lib/modules/2.6.32-279.el6.i686/kernel/drivers/scsi/sg.ko
alias:          char-major-21-*
version:        3.5.34
license:        GPL
description:    SCSI generic (sg) driver
author:         Douglas Gilbert
srcversion:     BD5E4FC33B6E0ABE20D3FB4
depends:    
当然 modinfo不仅仅只能这样玩,玩法很多。
-a 显示模块的作者
-n 显示模块的文件名
-V 显示模块的版本
不一一举例很多很多好玩的=============
==============================================

我们都知道下面这条命令可以查看当前系统的版本
[root@apache proc]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.3 (Santiago)
Kernel \r on an \m

其实proc这个目录下也存放着我们的版本信息
[root@apache proc]# cat /proc/version
Linux version 2.6.32-279.el6.i686 (mockbuild@x86-010.build.bos.redhat.com)
 (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Wed Jun 13 18:23:32 EDT 2012

[root@apache proc]# cat /proc/partitions //查看当前系统已经生效的分区信息, 知道问什么要分好区要使用partx -d -a刷新?不刷新这是看不到的

major minor  #blocks  name

8        0   20971520 sda
   8        1    8192000 sda1
   8        2     204800 sda2
   8        3    1024000 sda3
 253        0    5120000 dm-0

/proc/interrupts 这个目录非常重要,我们的系统down以后的一些信息都保存在这里面。
[root@apache proc]# cat /proc/interrupts
           CPU0      
  0:        161   IO-APIC-edge      timer
  1:          8   IO-APIC-edge      i8042
  3:          1   IO-APIC-edge   
  4:          1   IO-APIC-edge   
  7:          0   IO-APIC-edge      parport0
  8:          1   IO-APIC-edge      rtc0
  9:          0   IO-APIC-fasteoi   acpi
 12:        110   IO-APIC-edge      i8042
 14:          0   IO-APIC-edge      ata_piix
===================================
这个目录保存了当前系统所使用的文件系统信息。
[root@apache proc]# cat /proc/filesystems
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

转载于:https://www.cnblogs.com/linux-super-meng/p/3784818.html

解说linux下proc文件系统相关推荐

  1. 【Linux基础 01】Linux 下的文件系统

    Linux 下的文件系统 在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录): Ubuntu 没有盘符这个概念,只有一个根目录 /,所有文件都在它下面: Linux 主要目录速 ...

  2. linux 内核模块 proc,Linux 内核模块 proc文件系统.pdf

    Linux内核模块 proc文件系统 Linux内核模块 §  内核模块是内核的扩展,它供了在内核运 行过程中动态加载的特性. §  模块被加载进系统后,就在内核态下运行了, 成了内核的一部分,可以读 ...

  3. linux proc目录 是什么意思,linux 下proc目录里面有什么

    linux 下proc目录里面有什么 (2012-05-02 16:28:27) 标签: 杂谈 /proc/1 关于进程1的信息目录.每个进程在/proc 下有一个名为其进程号的目录. /proc/c ...

  4. 自学 Linux 8—文件系统简介之 Linux 下的文件系统

      在 UNIX 族的操作系统中,文件系统占有十分重要的地位,文件的概念涵盖了 UNIX 设备和操作对象的全部内容,对设备的操作方式几乎可以与对普通文件的操作等价.本博客对文件系统进行简单的介绍,主要 ...

  5. Linux下监控文件系统

    Linux下监控文件系统 Linux的后台程序通常在机器没有问题的情况下,需要长期运行(比如说数个月,甚至是数年).但是,程序的配置文件有时候是需要定期作调整.为了不影响程序对外服务(不重启),动态加 ...

  6. Linux下的文件系统修复

    Linux下的文件系统修复 一.进行磁盘分区 二.格式成xfs文件系统 1.查看分区 2.格式化分区 三.挂载分区 1.查看分区的uuid 2.将挂载信息写入/etc/fstab 3.挂载分区 四.破 ...

  7. Linux下的文件系统

    Linux下的文件系统 一.tar的用法 二.文件的归档 1.对目录文件进行归档 2.查看归档包内容 三.文件的解压缩 1.压缩和解压缩工具介绍 2.使用gzip解压缩 ①gzip压缩 ②gzip解压 ...

  8. Linux下的文件系统与目录系统简介

    Linux下的文件系统与目录系统简介 一. 文件系统 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL ...

  9. 深入理解linux系统下proc文件系统内容

    另外,可以参考这个http://www.centos.org/docs/5/html/5.1/Deployment_Guide/ch-proc.html 内容摘要:Linux系统上的/proc目录是一 ...

最新文章

  1. 苏大JAVA题库_苏州大学Java程序设计课程试卷含答案(B)
  2. ATLAS入门篇之HoverMenuExtender控件编程(2)
  3. ecshop调用指定ID分类下的文章列表(指定分类下的文章)
  4. bootstrap学习(四)输入框、导航
  5. zabbix部署-版本3.2.6
  6. 基于SpringBoot 2.3的WebService指南(包含案例)
  7. JS的作用域和作用域链
  8. 小米笔记本打开matlab,小米笔记本入手指南
  9. 理解多线程(四)--原子量和原子操作
  10. Python判断素数
  11. demo:纳税计算器
  12. spring data jpa 多表UNION ALL查询按条件排序分页处理:未搜到方法,解决后记录:2018年11月13日15:22:00
  13. 【附源码】计算机毕业设计java医院人事管理系统设计与实现
  14. p16panda合并concat
  15. 《自己拯救自己》--[英]塞缪尔·斯迈尔斯
  16. 计算机系统维护岗位,酒店电脑系统维护员的岗位职责
  17. 敏捷教练和专业教练有什么不同?
  18. PDF迅捷编辑软件编辑PDF文件简单吗
  19. 工厂控制灯光系统小结(观小蜜蜂老师教学视频有感)
  20. 追求不舒适的地方,直到整个世界都是我的家

热门文章

  1. ECCV 2020,一种灵活高效的权重生成网络框架
  2. 水果图像识别:基于 Arduino 和 TensorFlow Lite Micro
  3. 荣耀20青春版能升鸿蒙吗,荣耀20青春版上手 配置跑分如何
  4. 【OpenCV】OpenCV函数精讲之 -- 多通道图像混合
  5. 收藏 | OpenCV新手入门预处理
  6. 图像分类最新技术综述论文: 21种半监督、自监督和无监督学习方法一较高低
  7. 到底什么是“机器学习”?机器学习有哪些基本概念?(简单易懂)
  8. 《Python编程从入门到实践》记录之range、min、max、sum函数
  9. 简单粗暴入门JAVA之方法
  10. 基于Tensorflow实现DeepFM