FHS文件系统各目录功能

    FHS文件系统各目录功能


前言                 1476583814901337.jpg

FHS (Files system Hiserarchy Standard) 文件系统目录标准。目前多数linux版本采用这种文件组织形式,类似于windows操作系统中的C盘的文件目录,FHS采用树形结构组织文件。定了系统中每个区域的用途、所需的最小构成的文件和目录,同时给出了例外处理与矛盾处理。

 

目录

一、FHS标准内容

二、目录树directory tree

三、FHS目录结构

参考资料

  

一、FHS标准内容

 FHS标准定义了两层规范第一层是/ 下面的各个目录应该放什么文件数据。第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log 放置系统登录文件、/usr/share放置共享数据等等。这种定义使得软件可以预测已安装文件和文件夹的位置,用户可以预测已安装文件和文件夹的位置。

二、目录树directory tree

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

1、目录树的起始为根目录/ (见图1-1)

2、每个目录不仅能使用本地端分区,也可以使用网络上的文件系统。例如: 可以利用网络文件系统 network file system NFS 服务器载入某个特定的目录等。

3、同时每一个文件在此目录树种的文件名都是独一无二的。

特别注意的是以下两个特殊目录:

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

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

QQ截图20161015162215.jpg

(图1-1)

三、FHS目录结构

FHS文件系统各目录功能.jpg

(图1-2)

         如图1-2所示在FHS所有的文件和目录都出现在根目录”/”下,即使他们存储在不同的网络设备中。但是请注意的是,这些目录中的一部分可能不会在您linux系统上出现,这取决与系统是否包含某些子系统,例如 Xwindows 系统的安装与否。

         这些目录中的绝大多数都在所有的linux操作系统中存在,并且一般都以大致类似的方法使用;然而,这里的描述是针对与FHS的并未考虑除linux平台以外的权威性。       

目  录

  描   述

/

第一层结构的根、整个文件系统层次结构的根目录

/bin

需要在单用户模式可用的必要命令(可执行文件)面向所有的用户。例如 ls、cat、pwd、cp等.

/sbin

类似于/bin 存放系统二进制文件。因为其中大部分文件多是系统管理员使用的基本系统程序,虽然普通用户必要且允许时可以使用,但一般不会面向普通用户使用。例如命令:例如: init、 ip、 mount。等

/boot

存放引导程序文件;时常是一个单独的分区。Boot目录内存放都是系统启动的重要文件及目录例如vmlinuz(实际是系统所使用的kernel即内核文件)、System.map (系统kernel中的变量对应表)、initrd(系统启动时的模块供应主要来源)、grub(启动管理程序目录,多存放grub启动时所需画面、配置及各阶段文件)。

/dev

 必要的设备文件并包含linux系统所使用的所有外部设备。例如:/dev/null、/dev/zero 、/dev/cdrom等。

/usr

包含绝大多数的(多)用户工具和应用程序,存放用户使用的系统命令和应用程序等信息像命令帮助文件等。例如:/usr/bin、/usr/local、/usr/lib等。值得注意的是/usr目录是曾近还是用户的家目录后来被/home 目录取代。

/etc

系统程序的配置文件;包含很多文件许多网络配置文件也在/etc 中。例如/etc/rc、/etc/passwd 、/etc/sysconfig、/etc/fstab等

/srv

存放一些服务器之后启动之后需要提取的数据。包含由此系统提供的站点特定数据。指定这个的主要目的是让用户可以找到.特定服务的数据文件的位置,并由此提供服务。

/home

用户目录也是根目录下的一个子文件,是存放每个系统用户的文件的地方。普通用户的家目录集中位置,用户名同名子目录

/opt

表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包。

/mnt

录是系统管理员临时安装(mount)文件系统的安装点。程序并不自动支持安装到/mnt 。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用MSDOS文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱,/mnt/cdrom 光驱等等。

/lib

目录包含引导系统和在根文件系统中运行命令所需的内核模块和共享库映像(C编程代码库)。通过/ bin和/ sbin中的二进制。库可以通过其* .so的文件名扩展名容易地识别。等同于共享库的Windows将是一个DLL(动态链接库)文件。它们对于基本系统功能至关重要。内核模块(驱动程序)位于子目录/ lib / modules /'kernel-version'中。为了确保正确的模块编译,你应该确保/   lib / modules /'kernel-version'/ kernel / build指向/ usr / src   /'kernel-version',或者确保Makefile知道内核源代码本身的位置。

/lib64

等同于/lib. 64 位版本通常存放在文件系统的/lib64 目录树中,而 32 位版本则位于 /lib 目录树中。 您可能会在 64 位 Linux系统中同时发现/lib/libc-2.11.1.so以及 /lib64/libc-2.11.1.so . 这两个库允许 32 位及 64 位 C 程序在 64 位 Linux 系统当中运行。

/tmp

此目录主要包含临时需要的文件。   许多程序使用它来创建锁定文件和临时存储数据。   不要从这个目录中删除文件,除非你知道你在做什么!这些文件对许多当前运行的程序很重要,删除它们可能会导致系统崩溃。   通常它不会包含超过几KB。   在大多数系统上,此目录在引导或由本地系统关闭时清除。   这一点的基础是历史先例和普遍做法。   但是,它不是要求,因为系统管理不在FSSTND(后来的FHS)的范围内。 因此,人和程序不能假定/ tmp中的任何文件或目录在程序的调用之间保留。

参考资料:

以上内容多取材于互联网各大博客论坛以及以下网站。

Linux文档项目http://www.tldp.org

  Linux 目录系统层次介绍:http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/

文件系统层次结构标准FHS维基百科介绍:https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84%E6%A0%87%E5%87%86

 

 

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

(0)
秋季秋季
上一篇 2016-10-17
下一篇 2016-10-17

相关推荐

  • N22-第五周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@bogon ~]# grep -E  "^(root|fedora|user1)" /etc/passwd  | cut -d: -f1,7r…

    Linux干货 2016-09-26
  • DNS 笔记

    Ø DNS查询。工作流程如下图         n  客户端的DNS:8.8.8.8 /etc/hosts  14.215.177.38 www.baidu.com n  客户端访问www.baidu.com 不用向DSN服务器发生查询,只需要查询本地的 /e…

    Linux干货 2016-08-15
  • keepalived的安装和配置

    一、简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台…

    Linux干货 2017-10-30
  • awk用法一

      gawk程序是Unix中的原始awk程序的GNU版本,它提供了一种编程语言而不只是编辑器命令。在CentOS中awk命令实际上是gawk程序的链接文件名。   基本语法:     awk [options] ‘program’ flie1 file2 ……

    Linux干货 2015-12-24
  • Tomcat基于MSM+Memcached实现Session共享

    前言 在Tomcat集群中,当一个节点出现故障,其他节点该如何接管故障节点的Session信息呢?本文带来的解决方案是基于MSM+Memcached实现Session共享。 相关介绍 MSM MSM–Memcached Session Manager是一个高可用的Tomcat Session共享解决方案,除了可以从本机内存快速读取Session信…

    Linux干货 2015-07-03
  • 用户管理类命令

    2018-03-18

    Linux干货 2018-03-18