解说linux下proc文件系统

本文发布时间: 2019-Mar-22
proc文件系统的作用是访问系统内核信息proc不是一个真实的文件系统,它不占系统的外存空间,只是以文件的形式为用户访问linux内核数据提供接口,因为系统内核总是动态的变化,所以我们所捕捉到的也只是系统内核变化的瞬间。[root@apache ~]# cd /proc/[root@apache proc]# ls1 1428 1645 28 867 ioports partitions10 1448 1648 29 9 irq sched_debug1073 15 1652 3 912 kallsyms schedstat11 1526 1689 30 acpi kcore scsi1127 1538 17 31 asound keys self1171 1539 18 345 buddyinfo key-users 打开proc目录可以看到很多目录文件名,同时也可以看到当前系统正在运行的进程pid,甚至通过pid可以找到正在运行的文件。。下面我们可以看到它一直是在变化的[root@apache proc]# ps aux | grep viroot 1726 0.0 0.1 4336 732 pts/0 S+ 21:53 0:00 grep vi[root@apache proc]# ps aux | grep viroot 1728 0.0 0.1 4336 732 pts/0 S+ 21:53 0:00 grep vi[root@apache proc]# ps aux | grep viroot 1730 0.0 0.1 4336 732 pts/0 S+ 21:53 0:00 grep vi[root@apache proc]# ps aux | grep viroot 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: 0vendor_id: GenuineIntelcpu family: 6model: 58model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHzstepping: 9cpu MHz: 2494.379//二级缓存cache size:3072 KB//三级缓存========很多很多[root@apache proc]# cat /proc/meminfo //也可以查到我们内存的信息MemTotal: 443692 kBMemFree: 307832 kBBuffers: 11892 kBCached: 63692 kBSwapCached: 0 kBActive: 36008 kBInactive: 53752 kBActive(anon): 14400 kBInactive(anon): 8 kB============[root@apache proc]# cat /proc/modules //查看当前系统被加载的模块,当然也可以使用lsmodautofs4 20981 3 - Live 0xdd7cd000sunrpc 215000 1 - Live 0xdd776000ipt_REJECT 1867 2 - Live 0xdd6e9000nf_conntrack_ipv4 7694 2 - Live 0xdd6dd000nf_defrag_ipv4 1039 1 nf_conntrack_ipv4, Live 0xdd6d0000iptable_filter 2173 1 - Live 0xdd6c4000ip_tables 9567 1 iptable_filter, Live 0xdd6b8000ip6t_REJECT 3987 2 - Live 0xdd6a5000nf_conntrack_ipv6 7207 2 - Live 0xdd699000nf_defrag_ipv6 9873 1 nf_conntrack_ipv6, Live 0xdd68b000xt_state 1064 4 - Live 0xdd67e00=====================说到模块,我们也可以查看模块的具体信息:[root@apache proc]# modinfo sg//命令加模块显示模块的信息filename: /lib/modules/2.6.32-279.el6.i686/kernel/drivers/scsi/sg.koalias: char-major-21-*version: 3.5.34license: GPLdescription: SCSI generic (sg) driverauthor: Douglas Gilbertsrcversion: BD5E4FC33B6E0ABE20D3FB4depends: 当然 modinfo不仅仅只能这样玩,玩法很多。-a显示模块的作者-n显示模块的文件名-V显示模块的版本 不一一举例很多很多好玩的===========================================================我们都知道下面这条命令可以查看当前系统的版本[root@apache proc]# cat /etc/issueRed 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 ([email protected])(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 name8 0 20971520 sda 8 1 8192000 sda1 8 2 204800 sda2 8 3 1024000 sda3253 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 acpi12: 110 IO-APIC-edge i804214: 0 IO-APIC-edge ata_piix===================================这个目录保存了当前系统所使用的文件系统信息。[root@apache proc]# cat /proc/filesystems nodevsysfsnodevrootfsnodevbdevnodevprocnodevcgroupnodevcpusetnodevtmpfsnodevdevtmpfsnodevbinfmt_miscnodevdebugfsnodevsecurityfsnodevsockfsnodevusbfsnodevpipefsnodevanon_inodefsnodevinotifyfsnodevdevpts


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表