深入解析Linux根目录核心文件夹的作用

在Linux系统中,文件系统的层次结构遵循 Filesystem Hierarchy Standard(FHS) ​ 规范,根目录 /作为所有目录的"根节点",其下每个子目录都承担着特定的系统功能或存储角色。理解根目录各文件夹的作用,是高效管理系统、顺利部署项目的关键。本文将剖析根目录核心文件夹的功能,并结合真实项目场景讲解实践技巧。

1. /bin/sbin:基础命令与系统管理工具

  • 作用

    • /bin:存放所有用户可执行的基础命令(如 lscpmv),系统启动和单用户模式必需。
    • /sbin:存放系统管理命令(如 fdisksystemctl),仅限管理员使用。
  • 项目场景

    • 脚本依赖 :在Shell脚本中直接调用 /bin/bash/usr/bin/python3
    • 权限管理 :通过 /sbin/iptables配置防火墙规则。

2. /etc:系统配置的集中管理中心

  • 作用 :存储全局配置文件(如网络、用户策略)和服务配置(如Nginx、SpringBoot),是系统定制化的核心载体。

  • 项目场景

    • Nginx配置 :修改 /etc/nginx/nginx.conf定义虚拟主机、负载均衡规则;新增自定义配置可放入 /etc/nginx/conf.d/(Nginx会自动加载该目录下的配置文件)。
    • MySQL安全加固 :编辑 /etc/mysql/my.cnf,配置字符集、连接池参数,重启服务生效。
    • SpringBoot配置 :在 /etc/profile中设置全局环境变量(如数据库连接参数)。

3. /home:用户数据的独立存储区

  • 作用 :每个用户的独立目录(如 /home/dev),存储个人文件、个性化配置(如 .bashrc)。

  • 项目场景

    • 代码管理 :开发者在个人目录下克隆Git仓库(git clone)。
    • 环境隔离 :通过 ~/.m2/settings.xml配置Maven私有仓库。

4. /var:动态数据的持久化存储

  • 作用 :存储日志(/var/log)、数据库(/var/lib/mysql)、缓存(/var/cache)、服务套接字(/var/run)等可变数据。

  • 项目场景

    • 日志分析 :通过 /var/log/nginx/access.log分析访问流量;MySQL慢查询日志需在 /etc/my.cnf中启用(slow_query_log = 1),日志会写入 /var/log/mysql/slow.log
    • 数据库备份 :定期备份 /var/lib/mysql中的数据库文件。

5. /opt:第三方软件的独立安装目录

  • 作用:存放商业软件或大型闭源工具(如Docker、JDK),避免与系统默认软件冲突。

  • 项目场景

    • 中间件部署 :将Redis安装到 /opt/redis,独立管理配置和数据。
    • 多版本共存 :在 /opt/java下存放多个JDK版本,通过符号链接切换。

6. /tmp/var/tmp:临时文件存储区

  • 作用

    • /tmp:临时文件(重启后清理),适合短期缓存。
    • /var/tmp:跨重启保留的临时数据(如编译中间文件)。
  • 项目场景

    • 文件上传 :Web应用将用户上传的图片暂存 /tmp,处理完成后移动至持久化目录。
    • 编译构建 :使用 make -j4 TMPDIR=/var/tmp指定大文件临时存储路径。

7. /usr:系统资源的共享存储区

  • 作用 :存放共享库(/usr/lib)、网页(/usr/share)和用户级程序(/usr/bin)。

  • 项目场景

    • 开发依赖 :Python包默认安装到 /usr/local/lib/python3.10/site-packages
    • 字体管理 :在 /usr/share/fonts下添加自定义字体,全局生效。

8. /boot:系统启动的核心文件存储

  • 作用 :存储内核镜像(vmlinuz)、引导加载器(如GRUB)的配置文件。

  • 项目场景

    • 内核升级 :替换 /boot下的新内核文件并更新GRUB配置。
    • 救援模式 :通过Live CD挂载根分区后,从 /boot恢复损坏的内核。

9. /dev/proc:虚拟文件系统的信息接口

  • 作用

    • /dev:设备文件(如 /dev/sda表示硬盘)。
    • /proc:实时系统信息(如 /proc/cpuinfo)。
  • 项目场景

    • 硬件调试 :通过 /sys/class/net查看网络接口状态。
    • 性能分析 :使用 cat /proc/meminfo监控内存使用情况。
相关推荐
嘿嘿潶黑黑1 天前
Linux 安装 Qt
linux·qt
大聪明-PLUS1 天前
Linux进程间通信(IPC)指南 - 第3部分
linux·嵌入式·arm·smarc
水天需0101 天前
Linux 空操作详解
linux
被遗忘的旋律.1 天前
Linux驱动开发笔记(二十三)—— regmap
linux·驱动开发·笔记
RisunJan1 天前
Linux命令-iotop命令(实时磁盘 I/O 监控工具)
linux·运维·服务器
XMYX-01 天前
CentOS 7 搭建 PostgreSQL 14 实战指南
linux·postgresql·centos
大连好光景1 天前
《Docker容器提权&逃逸总结》
linux·运维·服务器
你想考研啊1 天前
win安装WSL和win使用shell
linux
丁丁丁梦涛1 天前
TencentOS Server 4.4(兼容centos 9 stream)部署KKFileView
linux·运维·centos·kkfileview