Linux 的根目录(/
)是文件系统的起点,每个子目录都有特定的用途。以下是常见目录及其存放内容的详细说明:
核心目录
/bin
存放系统最基础的用户命令(如
ls
,cp
,bash
等)。二进制可执行文件。就是所有用户均可使用,通常
现代系统中多为
/usr/bin
的符号链接。
/boot
启动所需的材料:内核(
vmlinuz
)、初始化内存盘(initramfs
)、引导加载器(如 GRUB 的配置文件)。
/dev
设备文件:如硬盘(
/dev/sda
)、终端(/dev/tty
)、虚拟设备(/dev/null
)等。由内核动态生成,用户或程序利用这些文件与硬件交互。
/etc
系统全局配置文件:
软件配置(如
/etc/nginx/nginx.conf
)。系统配置(如
/etc/fstab
挂载表、/etc/passwd
用户账户)。启动脚本(如
/etc/init.d/
或/etc/systemd/
)。
/home
用户主目录:每个用户拥有独立的子目录(如
/home/alice
),存放个人文件、配置(隐藏文件如.bashrc
)。
/lib
&/lib64
系统库文件(动态链接库
.so
):供/bin
和/sbin
中的程序使用。现代系统中多为
/usr/lib
的符号链接。
/media
&/mnt
挂载点:
/media
:自动挂载可移动设备(如 U 盘、光盘)。/mnt
:临时手动挂载文件系统(如网络存储)。
/opt
可选软件包:第三方大型软件(如 Oracle DB、MATLAB)通常安装在此,每个软件在独立子目录中。
/proc
虚拟文件系统:动态反映内核和进程信息(如
/proc/cpuinfo
、/proc/[PID]
)。不占用磁盘空间,直接由内核生成。
/root
超级用户(root)的主目录,而非
/home/root
。
/run
运行时数据:存放系统启动后生成的临时文件(如 PID 文档、套接字)。
替代旧版的
/var/run
。
/sbin
系统管理命令(如
fdisk
,iptables
,init
)。通常需要 root 权限执行,现代系统中多为
/usr/sbin
的符号链接。
/srv
服务数据:存放网站(
/srv/www
)、版本控制仓库(/srv/git
)等服务相关的文件。
/tmp
临时文件:所有用户可读写,系统重启后可能清空(部分发行版使用
tmpfs
内存文件系统加速访问)。
/usr
用户软件资源(UNIX System Resources):
/usr/bin
:大部分用户命令。/usr/lib
:软件库文件。/usr/local
:本地编译安装的软件(优先级高于系统包管理器)。/usr/share
:架构无关的数据(如文档、字体)。
/var
可变数据:
日志(
/var/log
)。缓存(
/var/cache
)。邮件队列(
/var/spool/mail
)。数据库文件(如
/var/lib/mysql
)。
其他目录
/lost+found
由
fsck
在文件系统修复时恢复的碎片文件。
/sys
虚拟文件系统,用于与内核交互(如管理设备、电源)。
现代变化
合并
/bin
,/sbin
,/lib
到/usr
:
许多发行版(如 Fedora、Arch)通过符号链接将这些目录合并到/usr
对应子目录,简化结构。/etc
与/usr
分离:
即使软件安装在/usr
,其配置文件仍在/etc
中。
总结
系统必备:
/bin
,/boot
,/dev
,/etc
,/lib
,/sbin
。用户相关:
/home
,/root
。运行时数据:
/proc
,/run
,/sys
,/tmp
。软件与数据:
/opt
,/usr
,/var
。
通过这种结构,Linux 建立了清晰的文件层级分工,便于管理和维护。不同发行版可能略有差异,但总体遵循FHS(文件系统层级标准)。