在Linux系统中,文件系统的层次结构遵循 Filesystem Hierarchy Standard(FHS) 规范,根目录 /作为所有目录的"根节点",其下每个子目录都承担着特定的系统功能或存储角色。理解根目录各文件夹的作用,是高效管理系统、顺利部署项目的关键。本文将剖析根目录核心文件夹的功能,并结合真实项目场景讲解实践技巧。
1. /bin与 /sbin:基础命令与系统管理工具
-
作用:
/bin:存放所有用户可执行的基础命令(如ls、cp、mv),系统启动和单用户模式必需。/sbin:存放系统管理命令(如fdisk、systemctl),仅限管理员使用。
-
项目场景:
- 脚本依赖 :在Shell脚本中直接调用
/bin/bash或/usr/bin/python3。 - 权限管理 :通过
/sbin/iptables配置防火墙规则。
- 脚本依赖 :在Shell脚本中直接调用
2. /etc:系统配置的集中管理中心
-
作用 :存储全局配置文件(如网络、用户策略)和服务配置(如Nginx、SpringBoot),是系统定制化的核心载体。
-
项目场景:
- Nginx配置 :修改
/etc/nginx/nginx.conf定义虚拟主机、负载均衡规则;新增自定义配置可放入/etc/nginx/conf.d/(Nginx会自动加载该目录下的配置文件)。 - MySQL安全加固 :编辑
/etc/mysql/my.cnf,配置字符集、连接池参数,重启服务生效。 - SpringBoot配置 :在
/etc/profile中设置全局环境变量(如数据库连接参数)。
- Nginx配置 :修改
3. /home:用户数据的独立存储区
-
作用 :每个用户的独立目录(如
/home/dev),存储个人文件、个性化配置(如.bashrc)。 -
项目场景:
- 代码管理 :开发者在个人目录下克隆Git仓库(
git clone)。 - 环境隔离 :通过
~/.m2/settings.xml配置Maven私有仓库。
- 代码管理 :开发者在个人目录下克隆Git仓库(
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版本,通过符号链接切换。
- 中间件部署 :将Redis安装到
6. /tmp与 /var/tmp:临时文件存储区
-
作用:
/tmp:临时文件(重启后清理),适合短期缓存。/var/tmp:跨重启保留的临时数据(如编译中间文件)。
-
项目场景:
- 文件上传 :Web应用将用户上传的图片暂存
/tmp,处理完成后移动至持久化目录。 - 编译构建 :使用
make -j4 TMPDIR=/var/tmp指定大文件临时存储路径。
- 文件上传 :Web应用将用户上传的图片暂存
7. /usr:系统资源的共享存储区
-
作用 :存放共享库(
/usr/lib)、网页(/usr/share)和用户级程序(/usr/bin)。 -
项目场景:
- 开发依赖 :Python包默认安装到
/usr/local/lib/python3.10/site-packages。 - 字体管理 :在
/usr/share/fonts下添加自定义字体,全局生效。
- 开发依赖 :Python包默认安装到
8. /boot:系统启动的核心文件存储
-
作用 :存储内核镜像(
vmlinuz)、引导加载器(如GRUB)的配置文件。 -
项目场景:
- 内核升级 :替换
/boot下的新内核文件并更新GRUB配置。 - 救援模式 :通过Live CD挂载根分区后,从
/boot恢复损坏的内核。
- 内核升级 :替换
9. /dev与 /proc:虚拟文件系统的信息接口
-
作用:
/dev:设备文件(如/dev/sda表示硬盘)。/proc:实时系统信息(如/proc/cpuinfo)。
-
项目场景:
- 硬件调试 :通过
/sys/class/net查看网络接口状态。 - 性能分析 :使用
cat /proc/meminfo监控内存使用情况。
- 硬件调试 :通过