Linux的各个文件夹名称解释(FHS)

对于接触和已经接触过一段时间Linux的使用者来说,系统的各个文件夹名字还是挺让人费解的,什么etc,usr,var等等,大部分也是耳濡目染才有一个大概的概念,例如usr是存放自己编译安装的软件,etc是配置文件。但其实一个叫FHS(文件系统目录标准)早就为我们定义好这些东西,每个目录和层次(命名空间)的用途和规则也是有详细的定义。而大部分Linux发行版也是遵循这个标准来组织系统文件的。

目录名字通常包含三部分,范凑(scope)、分类(category)、应用(application)。

例如 /usr/local/share/vim 存放了应用程序VIM的数据,这里 /usr/local 即为范畴,/share即为分类,vim即为应用程序

范畴(scope):

从更抽象的角度描述整个目录的体系结构。

# /                     Linux的系统文件
# /usr                更多Linux的系统文件
# /usr/games    游戏
# /usr/local        用户另外安装的软件包
# /usr/X11         X Window系统的文件

注:/和/usr没有很明显的区别,只是抽象上说明/比/usr更接近系统。

分类(category):

用于描述文件夹下文件类型和作用

# bin                  可执行二进制或脚本
# sbin                超级用户使用的可执行二进制或脚本
# lib                   程序的库
# man                可供man查看的手册
# share              特定的程序文件,例如示例之类
# etc                  程序的配置文件
# src                  程序的源代码
# dev                 系统的设备文件
# var                  系统运行期间会改变的文件
# run                  记录程序进程的PID文件
# spool               过渡性文件,打印任务,定时任务,计划任务之类 

程序(application):

这个没啥好说,一般就是程序以自己名称命名的文件夹。(一般来说该目录下又可以有不同的分类文件夹,类似命名空间)

参考:

FHS标准:http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs

书籍:Linux口袋书 Oreilly出版,Daniel J. Barrett著

原文地址:https://www.cnblogs.com/koboshi/p/4078759.html