Linux文件层级结构标准(FHS)

Linux文件层级结构标准(FHS)

设计FHS(Filesystem Hierarchy Standard)的目的主要是为了给Unix-like系统的管理员提供一个管理系统以及目录结构的一个参考。

由于利用Linux源码开发产品和发行版的企业或组织众多,如果每个组织都按照自己的喜好来组织系统中的文件结构,网络上必然出现各种各样的文件结构。这些产品的用户就不得不为每种不同的文件系统结构花费时间来学习。有了FHS之后,几乎所有的Unix-like系统的发行商或软件开发者都遵从该建议规范每个特定目录下分别只放哪些文件,方便了文件的组织和查找。

FHS也根据实际使用的需求持续更新,完整的FHS可参考(http://www.pathname.com/fhs/)

/, /usr, /var

FHS根据文件的可共享、不可共享、静态和动态等特点,将目录树架构分为/、/usr、/var三部分。

  • / 根目录是整个系统最重要的一个目录,因为在Linux系统中所有的目录都必须挂载在根目录下,也即所有的目录都是由根目录衍生出来。系统开机是所需要的开机软件、内核文件、函数库等都必须在根目录下。因此FHS也建议根目录不要安装在非常大、数据存取非常活跃的分区上,如此一来就能尽可能地降低系统不必要的错误。建议:根目录越小越好,且应用程序安装目录不要和根目录放置于同一分区。根目录下一般建议由以下耳机子目录:

    • /bin 供所有用户使用的基本命令程序文件
    • /sbin 系统管理员使用的工具程序
    • /boot 引导加载器(bootloader)必须用到的静态文件:kernel、initramfs(initrd)、grub等
    • /dev 存储特殊文件或设备文件: 字符设备(线性设备)、块设备(随机设备)
    • /etc 系统程序的配置文件(只能为静态的,不能是二进制)
    • /lib、/lib64 为系统启动或根文件系统上的应用程序(/bin, /sbin)提供共享库(libc.so.* ld*),以及为内核提供内核模块(modules)
    • /media 便携式设备的挂载点,cdrom、floopy等
    • /mnt 其他文件系统的临时挂载点
    • /opt 第三方程序的安装位置,可选路径;
    • /srv 当前主机为服务提供的数据
    • /tmp 为那些会产生临时文件的程序提供的用于存储临时文件的目录
    • /usr user hierarchy 全局共享只读数据路径
    • /var var hierarchy存储常发生变化的文件
    • /proc 内核级进程存储其相关信息,多为内核参数,例如net.ipv4.ipforward虚拟为net/ipv4/ipforward,存储于/proc/sys
    • /sys sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;为管理内核提供了一种统一模型的接口
  • /usr 根据FHS建议软件安装后将他们的数据合理地分别放置到这个目录下,而不要自行新建该软件自己的独立目录。/usr放置的数据属于可分享的且不可变动的,/usr可分享给局域网内的其他主机来使用。

    • /usr/bin
    • /usr/sbin
    • /usr/lib
    • /usr/lib64
    • /usr/include C程序头文件
    • /usr/share 命令手册页和自带文档等
    • /usr/local 另一个层级结构,让系统管理员安装本地应用程序,通常用于安装第三方软件
    • /usr/src 程序的源码
  • /var 主要存储常变化的文件,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file, run file),或者例如MySQL数据库的文件等。
    • /var/cache 应用程序产生的缓存文件
    • /var/lib 程序执行过程中,需要用到的数据文件放置的目录。此目录下各自的软件应该要有各自的目录。
    • /var/lib 某些设备或者文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该设备时,就可能产生一些错误,因此就得要将该设备或文件上锁(lock),以确保该文件或设备只给一个程序使用。
    • /var/log 登录文件 /var/log/messages, /var/log/wtmp
    • /var/mail 个人电子邮箱目录,通常与/var/spool/mail/目录互为链接
    • /var/run 与运行中的进程相关的数据,PID等
    • /var/spool 存放等待其他程序使用的数据
    • /var/tmp 下次启动前会被删除的临时数据

 

原创文章,作者:N24_fynl,如若转载,请注明出处:http://www.178linux.com/62805

(2)
N24_fynlN24_fynl
上一篇 2016-12-05 23:23
下一篇 2016-12-06 10:24

相关推荐

  • Varnish基础进阶

    Varnish基础进阶 前言 互联网早已惠及全人类, 我们可以通过网络与家人、朋友进行实时通信, 也能通过网络随时随地在各大电商站点上购物, 我们访问web站点的速度也越来越快, 这背后都是有很多精巧的架构以及各种先进的技术来支撑的, 我们就今天主要聊聊Web的缓存技术, 对于当今的互联网来说, Cahe Is King, 缓存真的有那么神奇么? 就由我来带…

    Linux干货 2016-04-19
  • Linux文本处理工具之grep

    简介     grep:Global search regular expression and print out the line.     grep是一种文本搜索处理工具,根据用户指定的文本模式或搜索条件对目标文件进行逐行搜索,并显示能匹配到的行。   …

    Linux干货 2015-05-12
  • 第5周

    第5周 1.显示当前系统上root,fedora或user1用户的默认shell。 [root@node1 ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f 7 /bin/bash /bin/bash /bin/bash [root@node1 ~]# grep “^\(root…

    Linux干货 2017-07-27
  • N26_第二周作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理命令:cp,mv,rm 1、cp命令 功能说明:复制copy语法格式:        单源复制:  cp [OPTION]… [-T] SOURCE DEST  …

    Linux干货 2017-02-21
  • Linux磁盘阵列RAID以及mdadm实现软件RAID

    一、概要 RAID(磁盘阵列):由众多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果来提升整个磁盘的性能。 二、RAID的级别及其优缺点 读性能提升 写性能提升 容错能力 组合后空间大小 RAID0 上升 上升 无 n*单个磁盘大小 RAID1 上升 下降 有(最多坏一块磁盘) 1*单个磁盘大小 RAID4 上升 上升 有(…

    2015-04-20
  • Linux文本处理三剑客之awk详解

    前言 awk是一款强大的报告生成器,不同于sed和grep,它的侧重点是如何把文本信息更好的展示出来,常用与统计和格式化输出。awk相当于微型的shell,有着自己一套语法结构,例如:循环结构,数组,条件判断,函数,内置变量等功能。处理对象一般纯文本文件或纯文本信息。 用法详解 基本语法 awk [options] 'progra…

    Linux干货 2015-04-29

评论列表(2条)

  • 马哥教育
    马哥教育 2016-12-14 15:06

    总结的非常的,FHS能让你非常清晰的理解目录层次结构。

    • 娅娃爱
      娅娃爱 2017-11-07 16:55

      @马哥教育活捉,架锅,是马哥本人吗?^ ^