/proc
/proc
目录在 Linux 系统中是一个虚拟文件系统,它不是存储在硬盘上的常规文件系统,而是由内核在内存中动态生成的。这个目录主要用于提供系统和进程的运行时信息,它有非常多的用途
一. 系统信息
1. CPU信息
/proc/cpuinfo
包含有关 CPU 的详细信息,如型号、制造商、速度和核数等。
2. 内存信息
/proc/meminfo
提供关于系统内存使用情况的详细信息,包括总内存、空闲内存、缓冲区和缓存的大小等。
3. 系统运行时间
/proc/uptime
显示系统自上次启动以来的运行时间和空闲时间。
4. 系统版本
/proc/version
显示当前运行的 Linux 内核版本和编译器版本的信息。
二. 进程信息
每个正在运行的进程在 /proc 目录下都有一个对应的子目录,目录名就是进程的 PID(进程标识符)。例如,PID 为 123 的进程会有一个 /proc/123 目录。
1. 进程命令参数
/proc/[pid]/cmdline 包含启动进程时的命令行参数。
2. 进程工作目录
/proc/[pid]/cwd 一个符号链接,指向进程的当前工作目录。
3. 进程环境变量
/proc/[pid]/environ 包含进程的环境变量。
4. 进程符号链接
/proc/[pid]/fd 包含指向进程打开的文件描述符的符号链接。
5. 进程状态信息
/proc/[pid]/status 提供进程的状态信息,包括 PID、PPID(父进程 ID)、内存使用情况等。
三. 硬件信息
1. 设备信息
/proc/devices 显示系统中当前已注册的字符设备和块设备
2. interrupts信息
/proc/interrupts 列出系统中断(interrupts)的使用情况和统计信息。
3. I/O端口
/proc/ioports 显示系统 I/O 端口的使用情况。
四. 文件系统信息
1. 文件挂载信息
/proc/mounts 显示当前挂载的文件系统及其挂载点。
2. 分区信息
/proc/partitions 显示系统中所有分区的信息。