Linux根目录结构清单:一文掌握“伪目录”与19个关键文件夹
Linux根目录结构清单:一文掌握“伪目录”与19个关键文件夹
结论先行:理解Linux根目录的职责边界,能显著提升定位问题、规划部署与日常运维的效率。本文在不改变技术事实的前提下,对原有内容做了结构化整理:先给出“速查表”,再解释两个“伪目录”,随后逐一说明根目录下19个常见实际目录的作用,并补充必要示例与提示。
一、速查表(建议收藏)
目录 | 关键用途 | 示例/提示 |
---|---|---|
/bin | 基础用户命令(单用户/抢修可用) | ls 、cp 、mv 、bash |
/boot | 引导相关:内核、initramfs、GRUB配置 | vmlinuz 、initramfs-* |
/dev | 设备文件与伪设备 | /dev/sda 、/dev/null |
/etc | 系统与服务配置 | /etc/passwd 、网络/服务配置 |
/home | 普通用户家目录根 | /home/alice |
/lib | 启动与核心命令依赖库(常与/usr/lib 关联) | *.so* |
/lib64 | 64位程序依赖库 | *.so* |
/media | 可移动介质自动挂载位置 | U盘、光盘自动挂载点 |
/mnt | 管理员临时手动挂载位置 | 临时挂载NFS/ISO |
/opt | 第三方“可选软件”独立安装目录 | /opt/google/chrome |
/proc | 进程/内核状态的虚拟文件系统 | /proc/cpuinfo 、/proc/<pid>/ |
/root | root用户家目录 | 仅root可访问 |
/run | 运行期临时数据(pid、socket、锁等) | 现代系统多与/var/run 关联 |
/sbin | 系统管理命令(多为root使用) | fdisk 、reboot |
/srv | 面向服务的数据根位置 | /srv/www 、/srv/ftp |
/sys | 设备与驱动信息的虚拟文件系统 | /sys/class/net/ |
/tmp | 临时文件,可清空 | 重启或策略清理 |
/usr | 大量可共享只读程序与数据 | bin/ 、sbin/ 、lib/ 、share/ |
/var | 可变数据:日志、缓存、队列、数据库 | /var/log 、/var/lib |
要点速记:
/media
自动挂载、/mnt
手动挂载、/tmp
不存长期文件、/etc
全是配置、/usr
体量最大、/var
数据常变。
二、“伪目录”的概念与用法
-
.
(单点)
表示当前目录。在命令里引用当前目录本身,如./script.sh
表示执行本目录下的脚本。 -
..
(双点)
表示父目录。常见用法如cd ..
回到上一层。
这两个目录项是文件系统语义的一部分,用于相对路径解析,并不对应真实的独立目录内容。
三、根目录下的实际目录逐一说明
-
/bin
存放基础用户命令(二进制可执行),在单用户模式或抢修场景仍可用。示例:ls
、cp
、mv
、bash
。 -
/boot
启动相关:内核(vmlinuz
)、初始RAM盘(initramfs
)、引导配置(GRUB)。通常仅在内核升级或改引导配置时变更。 -
/dev
设备文件目录,硬件与伪设备由内核以文件形式暴露给用户态,例如磁盘、串口、/dev/null
、/dev/zero
。对设备的读写即对这些“文件”的读写。 -
/etc
系统与服务配置的集中地,多为纯文本。示例:网络配置、服务脚本、/etc/passwd
。 -
/home
普通用户家目录根路径。如用户alice
的主目录为/home/alice
。 -
/lib
启动与/bin
、/sbin
程序依赖的共享库(在部分系统上软链至/usr/lib
)。 -
/lib64
64位程序依赖的共享库路径。 -
/media
桌面环境下自动挂载可移动介质的位置(U盘、光盘等),系统会在此动态创建子目录。 -
/mnt
管理员用于临时手动挂载文件系统的位置(不会自动挂载)。例如临时挂载NFS、ISO。 -
/opt
第三方可选软件的安装位置;每个应用通常自建子目录,如/opt/google/chrome
。 -
/proc
虚拟文件系统procfs
,实时反映内核与进程信息,如/proc/cpuinfo
、/proc/<pid>/status
。 -
/root
root
用户的家目录,与普通用户区分开,权限更严格。 -
/run
运行期临时数据:PID文件、Socket、锁文件等。许多系统中/var/run
已指向此处。 -
/sbin
系统管理命令(多需root),如fdisk
、ifconfig
、reboot
。普通用户默认PATH
中可能不含此目录。 -
/srv
面向服务的数据目录根,可将Web/FTP等服务数据放在此处,如/srv/www
、/srv/ftp
。 -
/sys
虚拟文件系统sysfs
,呈现设备模型与驱动信息,如/sys/class/net
、/sys/block/sda
。 -
/tmp
临时文件目录,所有用户与服务可写。重启或策略任务会清理,不适合长期存放。 -
/usr
可共享、只读的数据与程序集合,体量通常最大。/usr/bin
:常规用户程序/usr/sbin
:系统管理程序/usr/lib
:共享库/usr/share
:与架构无关的数据(文档、图标、locale等)
-
/var
可变数据目录:- 日志
/var/log
- 队列
/var/spool
- 缓存
/var/cache
- 数据库与状态
/var/lib
- 日志
四、使用提示与易错点
- 挂载位置:可移动介质优先看
/media
(自动)、临时手动挂载放/mnt
(手动)。 - 临时文件:
/tmp
随时可能被清理,禁止存长期数据。 - 配置变更:系统/服务配置集中在
/etc
;变更前备份是基本操作。 - 依赖库:32/64位混用时关注
/lib
与/lib64
(及与/usr/lib*
的关系)。
五、结语
掌握根目录结构就是掌握Linux系统“地图”。从/etc
的配置到/var
的可变数据,从/media
的自动挂载到/mnt
的手工挂载,理解目录职责边界能帮助你在系统维护、故障排查与架构设计中更快、更稳、更准。