发散:根目录挂载的几个特殊文件夹到底是什么
| 2025-5-15
Words 848Read Time 3 min

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
  • 📚 作用
    • 每开一个 sshtmuxscreenxterm,都会在这里自动生成一个伪终端设备节点,如 /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 都废。
 

为什么能起作用

它们本质上都是虚拟文件系统,是内核提供的一种内存驻留型的文件系统
Loading...