Linux目录结构遵循FHS规范,以用途和权限/生命周期为理解主线:根目录/为起点,/home存用户目录,/etc存配置,/var存变动数据,/usr存只读系统资源,/tmp和/run分担临时数据,/bin与/usr/bin按启动与运行阶段分工,/lib与/lib64依架构存放动态库,排查时聚焦“谁建、谁用、多久变”。

Linux目录结构不是随意设计的,而是遵循Filesystem Hierarchy Standard(FHS)规范,目的是让不同发行版保持基本一致,方便管理、维护和协作。理解它不靠死记硬背,而要抓住“用途驱动”和“权限/生命周期”两条主线。
根目录 / 是所有路径的起点,不是“C盘”
Windows习惯把系统、程序、用户数据分在不同盘符,Linux全从 / 开始展开。比如:
- /home 存用户主目录(类似 Windows 的 Users),每个普通用户有自己的子目录(如 /home/alice)
- /etc 放全局配置文件(如 /etc/nginx/nginx.conf),只有 root 能改
- /var 存运行时变化的数据:日志(/var/log)、数据库文件(/var/lib/mysql)、邮件队列等
- /usr 是“只读”的系统资源区(实际可写,但不建议手动改),包含命令(/usr/bin)、库(/usr/lib)、文档(/usr/share)
- /tmp 和 /run 都是临时空间,但 /tmp 重启可能清空,/run 是内存中的运行时状态(如 PID 文件)
/bin 与 /usr/bin 的分工:启动阶段 vs 运行阶段
早期 Linux 把所有命令塞进 /bin,后来为精简启动镜像,把基础命令(ls、cp、bash)保留在 /bin 和 /sbin(管理员命令如 fdisk、iptables),其余归到 /usr/bin。现代发行版(如 Ubuntu 20.04+、Fedora)已合并两者(通过符号链接),但逻辑仍存在:
- 系统刚开机、/usr 还没挂载时,/bin 和 /sbin 必须能独立工作
- 日常使用的工具(git、python3、curl)默认装在 /usr/bin
- 自己编译安装的软件,通常走 /usr/local/bin,避免和包管理器冲突
/lib 与 /lib64:别乱放,要看架构和依赖
动态库不是随便扔一个目录就能用的。关键看三点:
标签: mysql linux python git windows nginx app access ubuntu 工具 c盘
还木有评论哦,快来抢沙发吧~