FHS标准:
FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为Linux的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象。所以,后来就有所谓的文件系统层次标准(Filesystem Hierarchy Standard,FHS)出台。
第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。
根文件文件系统(/):rootfs:root filesystem
/bin:二进制,存放命令
/boot:存放启动和内核相关文件
/dev:存放设备文件
/etc:存放应用程序的配置文件
/home:普通用户的家目录,默认为/home/USERNAME
/lib和/lib64:存放系统开机时需要用的函数库及/bin和/sbin命令调用函数库
/lib/modules:存放内核相关的模块(驱动程序等)
/media和/mnt:挂载点,/media挂载移动设备 /mnt挂载临时设备
/opt:第三方软件存放目录(用户自行安装的软件存放处),现在一般安装到/usr/local下
/proc:伪文件系统,数据存放在内存中,存放关于进程的相关信息
/root:管理员的家目录
/sbin:存放管理员使用的命令
/srv:service缩写,存放服务数据目录,如可以把www服务的网页存放到该目录
/tmp:存放临时文件,所有用户都可以访问创建文件,但是每个用户只能删除自己的文件
/sys:伪文件系统,存放在内存中,记录内核相关的信息,包括目前加载内核模块和内核检测到的硬件设备等
/usr:UNIX software resource:存放安装的应用程序
/usr/bin:普通用户使用的命令(和/bin区别是否与开机有关)
/usr/sbin:网络服务器命令
/usr/lib和/usr/lib64:包含各种应用程序函数库
/usr/share:存放共享文件目录(在线帮助文件,杂项,时区文件等)
/usr/include:存放头文件
/usr/src:释放源代码目录
/var:vary缩写,存放经常变动的文件,比如日志,mail等
/var/cache:存放应用程序运行时产生的缓存文件
/var/lib:程序运行时,需要使用的数据文件的存放目录
/var/lock:设备或资源一次只能被一个应用程序使用,如果多应用程序会产生错误,因为要为设备或资源上锁(存放锁文件)
/var/log:存放日志目录(系统,用户登录,服务日志等)
/var/mail:存放个人电子邮件(系统报警产生邮件信息等)
/var/run:存放应用程序运行时PID文件(进程号.pid结尾)
/var/spool:存放队列数据,排队等待其他用户程序使用的数据,数据通常使用完成后会被删除