`

Linux目录配置标准FHS介绍

阅读更多

原文请看:http://space.oss.org.cn/space.php?uid=3&do=blog&id=66

 

Linux和UNIX的文件系统是一个以“/ “为根的阶层式的树状文件结构,/ 因此被称为根目录。所有的文件和目录都置于根目录/ 之下。根目录/下面有/bin,/home,/usr等子目录。在早期的UNIX系统中,各个厂家各自定义了自己的UNIX系统的文件系统构成,比较混乱。

为了避免在Linux也产生同样的问题,在Linux面世不久,就开始了对Linux文件系统进行标准化的活动,于1994年推出了名为 FSSTND(Filesystem Standard)的Linux文件系统层次结构标准。之后,FSSTND标准吸引了UNIX社团的开发人员,他们把FSSTND扩大到UNIX系 统,FSSTND就变为FHS (Filesystem Hierarchy Standard)。2001年3月,FHS 2.2版本发布,2004年1月29日发行了最新版本2.3。

 FHS标准使得众多的Linux发布包有了可以遵循的标准,使得软件和用户可以预测已经安装了的文件和目录的位置。它定义了如下的内容。
 定义了文件系统中每个区域的用途
 定义了所需要的最小构成的文件和目录
 给出了例外处理和矛盾的特殊例子

 

FHS实际上仅是规范在根目录(/)下面各个主要目录应该放什么样的文件。FHS定 义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc应该要放置设置文件,/bin与 /sbin则应该要放置可执行文件等等。第二层则是针对 /usr及 /var这两个目录的子目录来定义。例如 /var/log放置系统登录文件、/usr/share放置共享数据等等。

 

由于FHS仅是定义出最上层(/)及子层(/usr, /var)的目录内容应该要放置的文件数据,因此,在其他子目录层级内,就可以随开发人员自行配置了。举例来说,FC4的网络设置数据放在 /etc/sysconfig/network-script/ 目录下,但SuSE Server 9则是将网络放在 /etc/sysconfig/network/ 目录下,目录名称是不同的。

 

另外,在Linux中,所有的文件与目录都由根目录 / 开始。那是所有目录与文件的源头。然后再一个一个分支下来,有点像树状。因此,我们也称这种目录配置方式为:“目录树(directory tree)”。这个目录树主要特性有:

 

目录树的起始点为根目录(/, root)。

 

每一个目录不仅能使用本地端分区的文件系统,也可以使用网络上的文件系统。举例来说,可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录等。

 

每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。

 

此外,根据文件名写法的不同,也可将路径(path)定义为绝对路径 (absolute)与相对路径(relative)。绝对路径为:由根目录(/)开始写起的文件名或目录名称,例如 /home/dmtsai/.bashrc;相对路径为相对于当前路径的文件名写法。例如 ./home/dmtsai或 ../../home/dmtsai/ 等等。反正开头不是 / 就属于相对路径的写法。必须要了解,相对路径是以“当前所在路径的相对位置”来表示的。举例来说,当前在 /home目录下,如果想要进入 /var/log目录时,怎么写呢?

 

cd /var/log(absolute)

cd ../var/log(relative)

 

因为在 /home中,所以要回到上一层(../)之后,才能继续向 /var移动。

 

特别注意这两个特殊的目录:

.:表示当前目录,也可以使用 ./ 来表示。

..:表示上一层目录,也可以 ../ 来表示。

 

与 .. 的目录概念很重要,你常常会看到cd .. 或 ./command之类的命令方式,就是表示上一层与当前所在目录的工作状态。此外,针对“文件名”与“完整文件名(由 / 开始写起的文件名)”的字符限制大小为:

 

单一文件或目录的最大容许文件名为255个字符。包含完整路径名称及目录(/)的完整文件名为4096个字符。

 

我们知道,/var/log/ 下面有个文件名为message,这个message文件的最大文件名可达255个字符。var与log这两个上层目录最长也分别可达255个字符。但总 的来说, /var/log/messages这样完整的文件名最长则可达4096个字符。

 

提示:root在Linux里面的意义很多。如果从“账号”的角度来看,root指“系统管理员”身份,如果以“目录”的角度来看,root指的是根目录,就是 / 。要特别注意。

目录内容和用途

/ 根目录
/bin 一般用户使用的命令
/boot 放置内核及LILO、GRUB等导引程序(bootloader)的文件,用于启动。
/dev 硬盘,分区,键盘,鼠标,USB,tty等所有的设备文件都放在这个目录。
/etc 系统的所有配置文件都存放在此目录中。
/home 用户空间,所有的用户都是用此空间。
/lib 共享连接库,如C库和C编译器等等。
/media 挂接CD-ROM等设备的目录
/mnt 移动设备文件系统的挂点
/opt 存放后来追加的用户应用程序
/root 管理员之家
/sbin 存放系统管理所需要的命令
/tmp 临时文件目录,重新启动时被清除
/usr 存放只能读的命令和其他文件。
/usr/X11R6 X Window系统
/usr/bin 用户和管理员的标准命令
/usr/include c/c++等各种开发语言环境的标准include文件
/usr/lib 应用程序及程序包的连接库
/usr/local/ 系统管理员安装的应用程序目录
/usr/local/share 系统管理员安装的共享文件
/usr/sbin 用户和管理员的标准命令
/usr/share 存放使用手册等共享文件的目录
/usr/share/dict 存放词表的目录(选项)
/usr/share/man 系统使用手册
/usr/share/misc 一般数据
/usr/share/sgml SGML数据(选项)
/usr/share/xml XML数据(选项)
/var 存放应用程序数据和日志记录的目录,例如,Apache Web服务器的文档一般就放在/var/www/html下。
/var/cache 应用程序缓存目录
/var/account 处理账号日志(选项)
/var/crash 系统错误信息(选项)
/var/games 游戏数据
/var/lib  各种状态数据
/var/lock 文件锁定纪录
/var/log 日志记录
/var/mail 电子邮件
/var/opt /opt目录的变量数据
/var/run 进程的标示数据
/var/spool 存放电子邮件,打印任务等的队列目录。
/var/spool/rwho 
/var/tmp 临时文件目录
/var/yp NIS等黄页数据(选项)


       这个标准被设计的目的是给Unix发行版开发者,应用程序开发者,和系统实现者使用的,它的初终是作为一个参考,并不是来教用户怎么管理unix文件系统或目录结构的。
       当前linux用户也面临一些问题,  由于FHS仅定义了最上层(/)及子层(/usr, /var)的目录内容应该要放置的文件数据,所有现有Linux不同发行版中,其他二层下面的内容各部相同,有时会给用户迁移到不同Linux发行版上带 来麻烦,比如/etc下面的对统一功能的不同配置文件放置的位置不同,导致用户花费大量时间去熟悉新的系统。其实有些比较稳定的共同的功能应用程序的配置 文件也应该在FHS中给出定义,来指导发行版供应商和程序开发者进行开发。因此FHS也许应该更进一步的定义某些目录文件,进一层的细化文件层次结构,促 进linux发展。

下载FHS

分享到:
评论

相关推荐

    Linux各目录介绍最终版

    Linux目录结构遵循着统一的Filesystem Hierarchy Standard(FHS),对系统中的各目录和文件进行了标准化的规定。正确理解Linux目录的作用,有助于更好地使用Linux系统 Linux目录结构遵循着统一的Filesystem Hierarchy ...

    linux目录结构标准

    FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

    linux权威指南+FHS+SHELL基础

    压缩包内包括:linux权威指南 第三版(简体中文影印版)、FHS文件(中英文)、SHELL基础教程 以上文件用tar打包,zip2压缩

    fhs文件系统介绍(linux)

    fhs文件系统介绍(linux) This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems. The guidelines are intended to support ...

    FHS3.0文件系统层次结构标准

    文件系统层次标准FHS的详细介绍

    linux-directory-help:dirhelp - 一个命令行工具,用于提供有关 linux 目录结构 (FHS) 的信息

    dirhelp - 一个命令行工具,用于提供有关 linux 目录结构 (FHS) 的信息 使用安装程序安装: wget -qO - https://github.com/giodamelio/linux-directory-help/raw/master/installer.sh | /bin/bash 手动安装 为您的...

    fhs-3.0-文件系统层次结构标准.pdf

    FHS-文件系统层次结构标准 pdf

    FHS3.0.pdf

    linux文件系统结构层次标准3.0。介绍linux的文件系统结构

    【Linux】->Linux目录结构及文件基本操作

    Linux目录结构及文件基本操作Ⅰ Linux目录与Windows目录の差异Ⅱ Linux目录——FHS标准Ⅲ 目录路径A. 切换路径B. 绝对路径C. 相对路径Ⅳ 文件基本操作A. 新建a. 新建空白文件b. 新建目录B. 复制a. 复制文件b. 复制...

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

    设计FHS(Filesystem Hierarchy Standard)的目的主要是为了给Unix-like系统的管理员提供一个管理系统以及目录结构的一个参考。  由于利用Linux源码开发产品和发行版的企业或组织众多,如果每个组织都按照自己的喜好...

    FHS说明文档

    linux,文件系统,说明文档,学习FHS

    FHS文件系统

    introduction to linux file system

    FHS网络文件服务器

    FHS网络文件服务器

    fhs服务器.zip

    可以模拟fhs服务器的一款插件,用于前后端简单实现连接的展示。

    Linux基础知识之Linux发行版的系统目录名称命名规则以及用途

    1、遵循FHS(Filesystem Hierarchy Standard)标准 2、严格区分大小写(字母相同大小写不同视为两个文件) 3、目录也是文件,在同一路径下,两个文件不能同名(跟Windows相同) 4、支持使用除 / 以外的任意字符...

    Linux培训教程-共8讲

    接着,我们将向您介绍文件系统层次结构标准(Filesystem Hierarchy Standard FHS,或者称为),并向您演示如何在您的系统上定位文件。然后,我们将通过在后台运行 Linux 进程、列出进程清单、从终端上拆离进程以及更...

    C261405_HR7P201FHS_2018-08-15.PDF

    HR7P201FHS 带触摸最多14个端口,触摸芯片单片机运用资料。可广泛用于本芯片可用于触摸按键、小家电等领域。

    Filesystem Hierarchy Standard

    linux unix FHS 文件系统 分层标准

    Linux 中的存储结构与磁盘划分

    在 Linux 系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,也就是大家常说的“一切皆文件”。 这里引入一个名词叫做:文件系统层次化标准(FHS,Filesystem Hierarchy Standard); Linux 系统...

Global site tag (gtag.js) - Google Analytics