File Hierarchy Standard (FHS)

翻译/整理自https://www.linux.org/threads/file-hierarchy-standard-fhs.9999/,是kubernetes学习计划的第一篇文章。

FHS是绝大多数GNU/Linux和Unix/Unix-like系统的文件目录标准,被 Linux Standard Base (LSB) 采用。FHS统一了GNU/Linux下数据的存放规范,定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS有不同的版本,本文基于FHSv2.3。

所有的文件、文件夹、存储设备都在根目录下,被标记为/。根目录下有很多目录,包括标准目录和非标准目录。

标准目录

/bin/:BINary - 二进制文件存放在这里,但不是所有的二进制文件,一般是需要在单用户模式可用的必要命令和程序,例如cp,ls,cat等。该目录下没有其他目录。

/boot/: 引导程序文件,例如: kernel、initrd;时常是一个单独的分区。GRUB, Syslinux和其他bootloaders一般存放在此。

/dev/:DEVice - 代表设备的文件存放在此。GNU/Linux下一切皆文件,包括设备、目录,network sockets等。但不是所有文件都代表真实的设备,有一些是虚拟设备,比如/dev/null/dev/random

/etc/:Editable Text Configuration - 系统层面的配置文件。如在/opt/目录下的程序,配置文件会存放在/etc/opt/X Window系统的文件会被存放在/etc/X11

/home/: 用户的home目录。目录一般为/home/USER/*。用户在此存储他们的个人文件和配置文件。只有用户自己和root用户可以访问用户的home目录。但/home/USER/Public(~/Public)公共目录可被其他用户访问。Linux系统使用~来作为用户home目录的shortcut。

/lib/: 存放/bin//sbin/中二进制文件必要的库文件。如Linux内核模块存放在/lib/modules/中,而硬件驱动则在/lib/firmware/目录下。

/lib/*: 根目录下可能有其他库目录存在,例如/lib64/存放64-bit的库。

/lost+found/: 磁盘检查如fsck发现或者恢复了一个损坏的文件就会放在这里。

/media/: 可移除媒体的挂载点,一般用于挂在储存单元。

/mnt/: 临时挂载的文件系统。一些系统可能会将存储空间挂载在此。

/opt/: OPTional - 可选应用软件。如游戏、第三方应用软件等。

/proc/: 进程文件系统(ProcFS)挂在于此。

/root/: root用户的home目录。同样地,root用户的public目录也是公开的。

/sbin/ - Like /bin/