Linux 文件系统目录树:各层级职责权限规划如何理解

作者:袖梨 2026-07-07
Linux文件系统=单树结构+万物皆文件+严格权限+目录有规矩;以/为根,所有设备挂载其下,无C/D盘概念,遵循FHS标准划分功能区,确保启动、安全与维护可控。

Linux 文件系统目录树不是随意堆砌的文件夹,而是一套经过长期演进、严格规范(FHS 标准)的功能分区体系。理解各层级职责,本质是理解“谁用、为什么放这儿、能不能动”——这直接决定系统能否稳定启动、配置是否易维护、权限是否可控。

/ 是唯一根,不是C盘的替代品

它不对应某块物理磁盘,而是所有挂载点的逻辑起点。硬盘、U盘、网络存储,都必须挂到 / 下某个路径(比如 /mnt/usb 或 /media/disk),才能被访问。没有“切换盘符”的概念,只有“进入路径”。系统启动时,/ 必须能被挂载,且 /bin、/sbin、/etc 等关键目录需在同一个可读写分区或 initramfs 中可用。

/bin 和 /sbin:命令的职责分界线

/bin 放的是所有用户都能执行的基础命令(ls、cp、grep、bash),它们是系统“能用起来”的底线;/sbin 放的是影响系统状态的管理命令(fdisk、ifconfig、shutdown),默认只允许 root 执行。普通用户即使知道路径,运行 /sbin/ifconfig 也会被拒绝——这不是路径问题,是权限和设计意图。

  • /bin 下的命令通常不修改系统全局状态,适合日常操作
  • /sbin 下的命令常需访问硬件或内核接口,误操作可能导致服务中断或数据丢失
  • 现代发行版中部分命令已迁移到 /usr/bin 和 /usr/sbin,但 /bin 和 /sbin 仍保留符号链接或最小集,保障恢复环境可用

/etc、/var、/home:配置、变动与归属的三角关系

/etc 存静态配置(如 /etc/passwd、/etc/nginx/nginx.conf),属于“系统定义的规则”;/var 存运行时生成的动态内容(/var/log、/var/spool/mail),属于“系统自己写的记录”;/home 则是每个用户的私人空间,由用户完全控制(权限通常是 755 或 700)。三者权限规划不能混:/etc 文件一般属 root:root,只读给普通用户;/var 下子目录权限依服务而异(如 /var/log/syslog 属 syslog:adm);/home 下用户目录禁止 group 或 other 写入,防止越权访问。

/dev、/proc、/sys:看不见的文件,看得见的控制面

它们不是真实存储在磁盘上的文件,而是内核提供的虚拟接口。/dev 让硬件设备像文件一样被 open/read/write;/proc 按进程 PID 组织,实时反映内存、CPU、进程状态;/sys 暴露内核设备模型,用于调整驱动参数(如 echo 1 > /sys/class/backlight/intel_backlight/brightness)。这些目录下文件的读写权限,实际就是对内核功能的访问控制——改错一个值,可能黑屏、断网或触发 panic。

  • 普通用户通常只能读 /proc/self/ 和部分 /sys/devices 下只读节点
  • 写 /dev/sdX 或 /sys/module/xxx/parameters/ 需 root 权限,且无撤销机制
  • 它们的存在印证了“一切皆文件”——不是修辞,是统一的 I/O 抽象

相关文章

精彩推荐