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

相关推荐

  • 深入理解php底层:php生命周期

    1、PHP的运行模式:     PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。 1、当我们在终端敲入php这个命令的时候,它使用的是CLI。 它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。 2、当使用Apache或者别web服务器…

    系统运维 2015-05-28
  • MySQL 多实例详解

    目录 一、基本概念 1、MySQL多实例        就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程。这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文件。在提供服务时候,多实例MySQL在逻辑上看来是各自独立的,多个实例的自身是根据配置…

    Linux干货 2015-09-23
  • nmcli命令使用,解析性能监控工具

    nmcli nmcli地址配置工具,NetworkManager client 网络管理客户端 相关命令:nmcli connection show        查看当前连接状态 nmcli connection reload      重启服务 nmcli connection sho…

    Linux干货 2016-09-07
  • 第五周博客作业

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

    Linux干货 2017-01-07
  • ArchLinux折腾记

    刚接触linux的时候, 听到前辈说到这样一个系统,  说是linux 技能纯熟才能驾驭的了ArchLinux , 最近正好有个半天闲, 于是抽空,  佐以官方文档,  来认认真真的折腾一下ArchLinux Contents ArchLinux简介  准备工作  分区设置  基本功能安装 &nbs…

    Linux干货 2016-09-29
  • 磁盘分区

    磁盘分区 一、分区方式两种 MBR分区不能超过2个T按柱面分区主引导记录存放在,0磁道0扇区 512bytes前446字节存放bootloader (软件程序)64字节:分区表16个字节表示一个有效的分区 故只能分4个主分区。大于4个需要创建扩展分区,并在其中创建逻辑分区。2字节 55AABPT分区GPT:GUID(Globals Unique Identi…

    Linux干货 2016-08-29