Linux 基金会发布了 FHS (Filesystem Hierarchy Standard 文件系统层次化标准)。规定了主要文件夹的用途:
/ # 根目录
├── bin # 系统命令目录,普通用户也可以执行。单用户模式下也可以执行 /bin 下的命令
├── boot # 系统启动目录,保存与系统启动相关文件,如内核文件和启动引导程序(grub)文件等
├── dev # 设备文件保存位置,使用前先挂载
├── etc # 配置文件保存位置。默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,
│ # 如用户信息、服务的启动脚本、常用服务的配置文件等
├── home # 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存
│ # 自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个
│ # 和用户名相同的目录。如用户 liming 的主目录就是 /home/liming
├── lib # 系统调用的函数库保存位置(公用依赖库存放位置)
├── lost+found # 意外崩溃或意外关机产生的文件碎片存放在这。在系统启动的过程中,
│ # fsck 工具会检查并修复已经损坏的文件系统。这个目录只在每个分区中出现,
│ # 例如,/lost+found 就是根分区的备份恢复目录,
│ # /boot/lost+found 就是 /boot 分区的备份恢复目录
├── media # 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
├── misc # 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了
│ # 三个默认挂载目录: /media/、/mnt/、/misc/,但是到底在哪个目录中挂载
│ # 什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载
│ # 目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,
│ # 如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的
├── mnt # 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。
│ # 系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
├── opt # 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源
│ # 码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目
│ # 录中,也就是说,/usr/local/ 目录也可以用来安装软件
├── proc # 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。
│ │ #主要保存系统的内核、进程、外部设备状态和网络状态等。
│ ├── cpuinfo # 是保存 CPU 信息的
│ ├── devices # 保存设备驱动的列表
│ ├── filesystems # 保存文件系统列表
│ └── net # 保存网络协议信息
├── root # root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在 "/" 下
├── run # 一般放 pid 文件,pid 进程文件:程序运行时产生的文件
├── sbin # 超级系统命令目录,保存与系统环境设置相关的命令,root 才有权限
│ # 但也有些命令可以允许普通用户查看
├── srv # service 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
├── sys # 虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,
│ # 主要保存与内核相关的信息
├── tmp # 临时文件目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。
│ # 建议此目录中不能保存重要数据,最好每次开机都把该目录清理
├── usr # 程序目录,和 opt 目录类似,也类似 win 中的 Program Files
└── var # 经常变化的文件目录,网页文件、数据文件、日志文件