Linux 根目录下面各个目录的作用?

Linux 根目录(/)是文件系统的起点,其下的每个目录都有特定的用途,遵循 Filesystem Hierarchy Standard (FHS) 标准。以下是主要目录的作用:


核心目录

  1. /bin

    • 二进制可执行文件(所有用户可用)。
    • 包含基础命令如 lscpbash 等(现代系统通常链接到 /usr/bin)。
  2. /boot

    • 启动所需的文件 :内核(vmlinuz)、初始化内存盘(initramfs)、引导加载程序(如 GRUB 的配置文件)。
  3. /dev

    • 设备文件 :硬件或虚拟设备的接口(如 /dev/sda 是磁盘,/dev/null 是空设备)。
  4. /etc

    • 系统配置文件 :全局配置(如 /etc/passwd/etc/fstab、网络配置等)。
  5. /home

    • 用户主目录 :普通用户的个人文件和配置(如 /home/username)。
  6. /lib & /lib64

    • 共享库文件 :供 /bin/sbin 中的程序使用(如动态链接库 .so 文件)。
    • /lib64 用于 64 位系统(现代系统通常链接到 /usr/lib)。
  7. /media & /mnt

    • 挂载点
      • /media:自动挂载的可移动设备(如 U 盘、光盘)。
      • /mnt:临时手动挂载的文件系统。
  8. /opt

    • 可选软件:第三方或大型软件的独立安装目录(如 Oracle、MATLAB)。
  9. /proc

    • 虚拟文件系统 :内核和进程的实时信息(如 /proc/cpuinfo/proc/pid)。
  10. /root

    • root 用户的主目录 (不同于 /)。
  11. /run

    • 运行时数据:系统启动后生成的临时文件(如 PID 文件、套接字)。
  12. /sbin

    • 系统管理命令 :需 root 权限的工具(如 fdiskiptables)(现代系统通常链接到 /usr/sbin)。
  13. /srv

    • 服务数据 :存放服务器提供的文件(如 Web 数据 /srv/www)。
  14. /tmp

    • 临时文件 :所有用户可读写,通常重启后清空(部分系统使用 tmpfs 内存文件系统)。
  15. /usr

    • 用户程序资源
      • /usr/bin:大部分用户命令。
      • /usr/lib:库文件。
      • /usr/local:本地编译的软件(优先级高于系统自带)。
      • /usr/share:架构无关的数据(如文档、字体)。
  16. /var

    • 可变数据
      • /var/log:日志文件。
      • /var/cache:应用程序缓存。
      • /var/lib:数据库(如 apt 的包信息)。
      • /var/spool:队列数据(如邮件、打印任务)。

其他目录

  • /lost+foundfsck 修复文件系统时恢复的碎片文件。
  • /sys:虚拟文件系统,用于与内核交互(设备、驱动等)。
  • /selinux:SELinux 安全策略的配置文件(如果启用)。

现代变化

  • /bin/lib/sbin 可能符号链接到 /usr 下的对应目录(通过 UsrMerge 项目统一)。
  • /run 替代了旧版的 /var/run

总结

  • 系统必备/bin/boot/etc/lib/sbin
  • 可变数据/var/tmp
  • 用户相关/home/root
  • 虚拟文件/proc/sys

通过这种结构,Linux 实现了清晰的文件管理,便于维护和扩展。