深入解析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监控内存使用情况。
相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩3 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言