proc /proc proc defaults 0 0
- 📌 是什么:
procfs
是进程信息的虚拟文件系统,内核在内存里动态生成的,目录结构代表系统当前运行状态、内核参数、以及每个进程的信息。
- 📍 挂载点:
/proc
- 📚 作用:
/proc/cpuinfo
→ 查看 CPU 信息/proc/meminfo
→ 查看内存信息/proc/[pid]/
→ 每个进程的状态、内存映射、文件句柄/proc/sys/
→ 内核参数(sysctl
实际就是操作这)
👉 没有它,Linux 系统基本就废了,top、ps、free 都靠它。
devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0
- 📌 是什么:
devpts
是伪终端(pseudo terminal)设备文件系统,管理/dev/pts/
下的动态伪终端设备。
- 📍 挂载点:
/dev/pts
- 📚 作用:
- 每开一个
ssh
、tmux
、screen
、xterm
,都会在这里自动生成一个伪终端设备节点,如/dev/pts/0
- 和
/dev/ptmx
协作实现虚拟终端设备
👉 不挂这个,SSH 登录、终端模拟器都无法正常工作。
tmpfs /dev/shm tmpfs mode=1777 0 0
- 📌 是什么:
tmpfs
是基于内存的临时文件系统,数据放内存里,重启就没了。
- 📍 挂载点:
/dev/shm
- 📚 作用:
- POSIX 共享内存接口(shm_open/shm_unlink)背后的实现
- 多进程通信(IPC)用的共享内存,像 Chrome、Firefox、数据库等都会用
mode=1777
→ 目录可被所有用户写入,但文件属主外人不可删除(类似/tmp
)
👉 没它,涉及共享内存的程序直接挂。
tmpfs /tmp tmpfs mode=1777 0 0
- 📌 是什么:也是个
tmpfs
,这次挂载在/tmp
,进程临时文件目录,内存+swap。
- 📍 挂载点:
/tmp
- 📚 作用:
- 程序运行时的临时文件、临时 socket、缓存
mode=1777
→ 所有用户可写,防止互相删除(sticky bit)
👉 挂在内存里好处是快,重启清空。
tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
- 📌 是什么:系统早期启动时的临时文件系统,主要放 PID 文件、运行时配置、socket。
- 📍 挂载点:
/run
- 📚 作用:
- systemd / init 程序启动后会往这里写各种状态文件
- 服务 PID、锁文件、runtime socket 都在这
nosuid,nodev
→ 禁止挂 suid 程序和设备节点,提升安全性
👉 比
/tmp
更早挂载,优先级高。sysfs /sys sysfs defaults 0 0
- 📌 是什么:
sysfs
是内核导出设备/内核子系统信息的虚拟文件系统
- 📍 挂载点:
/sys
- 📚 作用:
/sys/class/
→ 各类设备分类(block、net)/sys/devices/
→ 设备树结构/sys/kernel/
→ 内核属性(内核模块、参数)/sys/block/sda/sda1/
→ 查看块设备信息
👉 没它,udev、systemd、udevadm info、lsblk 都废。
为什么能起作用
它们本质上都是虚拟文件系统,是内核提供的一种内存驻留型的文件系统