Linux 根目录(/)是文件系统的起点,其下的每个目录都有特定的用途,遵循 Filesystem Hierarchy Standard (FHS) 标准。以下是主要目录的作用:
核心目录
-
/bin- 二进制可执行文件(所有用户可用)。
- 包含基础命令如
ls、cp、bash等(现代系统通常链接到/usr/bin)。
-
/boot- 启动所需的文件 :内核(
vmlinuz)、初始化内存盘(initramfs)、引导加载程序(如 GRUB 的配置文件)。
- 启动所需的文件 :内核(
-
/dev- 设备文件 :硬件或虚拟设备的接口(如
/dev/sda是磁盘,/dev/null是空设备)。
- 设备文件 :硬件或虚拟设备的接口(如
-
/etc- 系统配置文件 :全局配置(如
/etc/passwd、/etc/fstab、网络配置等)。
- 系统配置文件 :全局配置(如
-
/home- 用户主目录 :普通用户的个人文件和配置(如
/home/username)。
- 用户主目录 :普通用户的个人文件和配置(如
-
/lib&/lib64- 共享库文件 :供
/bin和/sbin中的程序使用(如动态链接库.so文件)。 /lib64用于 64 位系统(现代系统通常链接到/usr/lib)。
- 共享库文件 :供
-
/media&/mnt- 挂载点 :
/media:自动挂载的可移动设备(如 U 盘、光盘)。/mnt:临时手动挂载的文件系统。
- 挂载点 :
-
/opt- 可选软件:第三方或大型软件的独立安装目录(如 Oracle、MATLAB)。
-
/proc- 虚拟文件系统 :内核和进程的实时信息(如
/proc/cpuinfo、/proc/pid)。
- 虚拟文件系统 :内核和进程的实时信息(如
-
/root- root 用户的主目录 (不同于
/)。
- root 用户的主目录 (不同于
-
/run- 运行时数据:系统启动后生成的临时文件(如 PID 文件、套接字)。
-
/sbin- 系统管理命令 :需 root 权限的工具(如
fdisk、iptables)(现代系统通常链接到/usr/sbin)。
- 系统管理命令 :需 root 权限的工具(如
-
/srv- 服务数据 :存放服务器提供的文件(如 Web 数据
/srv/www)。
- 服务数据 :存放服务器提供的文件(如 Web 数据
-
/tmp- 临时文件 :所有用户可读写,通常重启后清空(部分系统使用
tmpfs内存文件系统)。
- 临时文件 :所有用户可读写,通常重启后清空(部分系统使用
-
/usr- 用户程序资源 :
/usr/bin:大部分用户命令。/usr/lib:库文件。/usr/local:本地编译的软件(优先级高于系统自带)。/usr/share:架构无关的数据(如文档、字体)。
- 用户程序资源 :
-
/var- 可变数据 :
/var/log:日志文件。/var/cache:应用程序缓存。/var/lib:数据库(如apt的包信息)。/var/spool:队列数据(如邮件、打印任务)。
- 可变数据 :
其他目录
/lost+found:fsck修复文件系统时恢复的碎片文件。/sys:虚拟文件系统,用于与内核交互(设备、驱动等)。/selinux:SELinux 安全策略的配置文件(如果启用)。
现代变化
/bin、/lib、/sbin可能符号链接到/usr下的对应目录(通过 UsrMerge 项目统一)。/run替代了旧版的/var/run。
总结
- 系统必备 :
/bin、/boot、/etc、/lib、/sbin。 - 可变数据 :
/var、/tmp。 - 用户相关 :
/home、/root。 - 虚拟文件 :
/proc、/sys。
通过这种结构,Linux 实现了清晰的文件管理,便于维护和扩展。