我们常用Linux发行版本,各种类型文件通常放到不同的目录里,比如二进制文件放置到/bin、/sbin、/usr/bin、/usr/sbin,系统和应用配置文件放置到/etc,/home是非root用户的主目录(/home/{username}),/root是root用户的主目录……
那么为什么要这样放置文件?
这个其实就是Linux基金会制定的FHS标准。
文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容。FHS由Linux基金会维护。 当前版本为3.0版,于2015-06-03发布。具体的FHS规范内容可以看FHS官网。
注意:
- 虽然主流的发行版本基本实现了FHS标准,但是在实现细节上与标准还是有一些不一致的地方。还有一些小众的发行版本压根就没有遵循FHS标准。
- 这些年新起的Snap、Flatpak、AppImage等应用程序包管理方式,不再像以前的apt、rpm、dnf等遵循FHS规范,而是将应用程序的二进制文件、配置文件、依赖文件等都打包到一个目录里。
References:
- FHS Wiki https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
- FHS 3.0 https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html