Linux 文件系统目录架构全解析

Linux 文件系统采用树形分层结构,以根目录 / 为起点,所有文件和目录都依附于这一核心节点。这种设计遵循 FHS(文件系统层次结构标准),让系统资源管理更清晰、协作更高效。下面我们逐一解析核心目录的作用:

一、核心系统目录

  • /bin :存放系统核心二进制可执行文件,如 ls 、 cp 、 mv 等基础命令,所有用户均可调用,是系统正常运行的基础保障。

​

  • /sbin :存储系统管理类命令,如 fdisk 、 ifconfig ,仅超级用户(root)可执行,主要用于系统配置、维护与故障排查。

​

  • /lib :共享库文件目录,存放系统运行所需的动态链接库( .so 文件),为 /bin 和 /sbin 下的命令提供依赖支持,类似 Windows 的 DLL 文件。

​

  • /boot :系统启动核心目录,包含内核文件( vmlinuz )、引导加载器(GRUB)等启动必需文件,是系统开机的"起点"。

二、配置与设备目录

  • /etc :系统全局配置文件的"大本营",涵盖网络配置( /etc/network )、用户权限( /etc/passwd )、服务配置( /etc/nginx )等,几乎所有系统级设置都存放在此。

​

  • /dev :设备文件目录,Linux 中"一切皆文件",硬件设备(如硬盘 /dev/sda 、终端 /dev/tty )都以文件形式呈现,便于系统与硬件交互。

​

  • /proc :虚拟文件系统,不占用实际磁盘空间,实时映射系统内核与进程信息(如 /proc/cpuinfo 查看 CPU 信息),是调试和监控系统的重要窗口。

三、用户与应用目录

  • /home :普通用户的主目录,每个用户拥有独立子目录(如 /home/john ),用于存储个人文件、配置和数据,是用户日常操作的核心空间。

​

  • /root :超级用户(root)的专属主目录,与普通用户目录隔离,保障系统管理员权限的安全性。

​

  • /usr :Unix 软件资源库,是系统最大的目录之一,包含子目录如 /usr/bin (应用程序)、 /usr/lib (应用库文件)、 /usr/local (用户自行安装的软件),承载了大部分用户级应用与资源。

​

  • /opt :第三方商业软件的默认安装目录,通常用于存放独立于系统包管理的大型应用(如 IDE、数据库)。

四、存储与临时目录

  • /media :可移除设备挂载点,自动挂载 U 盘、光盘等外部存储,方便用户访问移动设备数据。

​

  • /mnt :手动挂载目录,用于临时挂载文件系统(如网络硬盘、额外分区),由管理员主动操作。

​

  • /tmp :临时文件目录,存储程序运行时生成的临时数据,系统重启后会自动清空,避免垃圾堆积。

​

  • /var :可变数据目录,存放随系统运行不断变化的文件,如日志( /var/log )、锁文件( /var/lock )、临时缓存( /var/tmp ),是排查系统问题的关键日志来源。

五、服务与资源目录

  • /srv :服务数据目录,存储系统提供的网络服务数据(如网站文件、FTP 共享),明确区分服务数据与系统文件。

​

  • /usr/share :共享资源目录,存放架构无关的只读数据,如帮助文档、图标、区域设置,让不同硬件架构的系统共享通用资源。

Linux 目录架构的核心价值在于职责分离:系统文件与用户数据隔离、核心命令与应用程序分离、临时数据与持久数据分离,既保障了系统稳定性,又提升了可维护性。理解这套目录逻辑,是掌握 Linux 系统管理的第一步。

相关推荐
Rabitebla31 分钟前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
麦麦麦当劳大王1 小时前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript
starzy19901 小时前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
只睡四小时2 小时前
Three.js Sub-tick:漏判 60.7%→0
开发语言·javascript·性能优化·ecmascript·游戏开发·three.js·碰撞检测
码农小河662 小时前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
西西弗Sisyphus3 小时前
C++ 超时互斥锁(Timed Mutex):std::timed_mutex 与 std::unique_lock
c++
东鹏特饮4 小时前
系统运维(传统/通用运维)面试题
开发语言·php
今天要早睡_5 小时前
C++01_入门基础复习
开发语言·c++
Android系统攻城狮6 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
黑马程序员毕设6 小时前
基于 Java 的餐饮点餐系统设计与应用报告
java·开发语言