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 08:35
下一篇 2016-10-17 08:35

相关推荐

  • 震惊!!iptables还能这样用!

    基本语法:iptables [-t 表] [操作命令] [链][规则匹配器][-j 目标动作] 系统的INPUT和OUTPUT默认策略为DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin…

    系统运维 2017-04-18
  • Linux的发展史和Linux的终端类型

    Linux的发展史和Linux的终端类型 前言:    随着时代的发展,Linux所占的市场份额越来越大,目前几乎百分之九十的服务器市场都被Linux占据。接下来我们来聊聊Linux的发展史。 简单的说:Linux操作系统是1998年的8月芬兰的一个叫Linus Torvalds的大学生写出来的一个类minix的系统。 具体分析: Lin…

    Linux干货 2016-10-17
  • Ip 地址 及 网络配置

    Ip 地址 及 网络配置 IP地址  它们可唯一标识 IP 网络中的每台设备  每台主机(计算机、网络设备、外围设备)必须具有唯 一的地址 IP地址由两部分组成:       网络ID:  标识网络  每个网段分配一个网络ID       主机 ID:  标识单个主…

    Linux干货 2016-09-05
  • shell编程作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@localhost sh.log]# cat systeminfo.sh  #!/bin/bash #author:DYW #显示当前主机系统…

    Linux干货 2016-08-15
  • 【招聘需求】高级运维工程师/上海虹口区/待遇20k左右

    上海虹口区/待遇20k左右 有意向者发简历至@管家邮箱 邮件名是:[求职]Net-姓名-花名-工作年限 岗位职责:1、降低技术壁垒,建设运维工具、运维平台,实现运维自动化,包括 运维自动化、配置管理中心等。2、具备前瞻性,带领运维技术团队完成业务支撑,负责定位、分析、跟踪和相协调处理重大事故,使之对业务影响降至最低。3、技术支持、培训、知识库建设。4、运维接…

    Linux干货 2015-03-12
  • PXE

    BootStraping 系统提供 PXE 简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file…

    Linux干货 2016-11-05