===================
- PROC文件系统介绍
===================
; 显示内存信息,对对应命令: vmstat/free
$ cat /proc/meminfo
$ cat /proc/vmstat
$ cat /proc/vmmemctl
; 显示设备相关信息
$ cat /proc/devices
; 显示磁盘相关信息,第二条命令显示了分区名称,主要设备号与次要设备号,对应命令: fdisk -l
$ cat /proc/diskstats
$ cat /proc/partitions
; 显示启动时间
$ cat /proc/uptime
$ cat /proc/version
; 显示系统中断以及相关信息,用于查看设备所请求的IRQ中断,其中''I8042''为键盘
; 第二个命令显示系统IO所占用的地址范围
; 第三个命令查看系统设备读写的地址空间,编程会用得着
$ cat /proc/interrupts
$ cat /proc/ioports
$ cat /proc/iomem
; 查看CPU信息,查看CPU对指令集的支持
$ cat /proc/cpuinfo | awk ''/flags/''
$ cat /proc/cpuinfo | awk ''/vendor/''
$ cat /proc/cpuinfo | awk ''/MHz/''
; 查看内核所编译的文件系统,即,查看内核所支持的文件系统
$ cat /proc/filesystems
; 查看系统装载的模块,对应命令: lsmod
$ cat /proc/modules
; 查看系统平均负载
$ cat /proc/loadavg
; 查看系统启动命令行,传送到内核的命令行参数
$ cat /proc/cmdline
; 系统调用列表
$ cat /proc/kallsyms
网络
; 显示系统ARP表,"HWADDR"全0表示IP地址未被占用
$ cat /proc/net/arp
; 显示SNMP相关信息,上面一行表示各个字段,下面一行表示值,以下同
$ cat /proc/net/snmp
; 显示接口总流量
$ cat /proc/net/dev
; 显示路由表,注意,这里显示的不是点分10进制,而10完全16进制
$ cat /proc/net/route
; 显示无线相关信息,包含接收到的AP,信号质量等
$ cat /proc/net/wireless
进程<CPU/IO/Fd>
; 基准目录<vw>: /proc/#Pid/
; 查看内存映射表,包括其对动态链接库的引用,堆栈的位置,可以用于故障排除
$ cat $vw/maps
$ cat $vw/smaps
; 查看进程运作状况,如SLEEP参数表明了进程的繁忙程度
$ cat $vw/status
; 查看进程的IO情况,也可以通过此查看进程是否为IO密集型进程
$ cat $vw/io
; 查看进程打开的文件,对对应命令: lsof
$ ls $vw/fd
; 查看进程工作目录
$ ls -l $vw/cwd
; 查看进程可执行文件
$ ls -l $vw/exe
; 查看传入进程的环境变量
$ cat $vw/environ
; 查看传入进程的命令行
$ cat $vw/cmdline | tr "\000" "\n"
; 查看对进程的限制,如打开文件数,运行作业数等
$ cat $vw/limits
; 查看进程锁定的元素
$ cat $vw/locks
设备
; 查看光驱相关信息,注意DRIVENAME,进行挂载时用得着
$ cat /proc/sys/dev/cdrom/info
总线
; 查看PCI总线,对应命令: lspci/setpci
$ cat /proc/bus/pci/devices
; 查看USB总线,对应命令: lsusb
$ cat /proc/bus/usb/devices
; 查看键盘,鼠标,扬声器
$ cat /proc/bus/input/devices
$ cat /proc/bus/input/handler
; 查看SCSI总线
$ cat /proc/scsi/scsi
; 查看SCSI设备
$ cat /proc/scsi/device_info
=====================
* SYS 文件系统
=====================
; 查看网卡原始MAC
$ cat /sys/class/net/ethX/address
; 查看网卡统计数据
$ cat /sys/class/net/ethX/statistics/*
; 查看接口状态
$ cat /sys/class/net/ethX/operstate
举个小例子
这段代码统计在10秒内ETH0接口接收的网络流量,单位是BPS
- #!/bin/bash
- cd /sys/class/net/eth0/statistics
- startRX=`cat rx_bytes`
- sleep 10
- endRX=`cat rx_bytes`
- bytesTotal=`expr $endRX - $startRX`
- bps=`expr $bytesTotal ''/'' 10`
- echo "The average traffic is RX: ${bps}Bytes/sec"
|