FHS文件系统各目录功能

FHS 

     Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。下为图例

1476589741975459.png

FHS定义了两层规范,第一层是,根目录(/)下各个主要目录应放什么文件,如/etc应放设置文件。第二层则是针对/usr和/var这两个目录的子目录来定义的.

显示root下的目录

[root@localhost ~]# ls /

bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  

目录 应放置的文件内容
/ 根目录是系统启动时第一个载入的分区,所以,所有启动过程会用到的文件都应该放在这个分区中(/etc,/bin,/dev,/lib,/sbin这5个子目录都应该与根目录连在一起,不可独立成某个分区)。建议不用在根目录下方

/bin/usr/bin

/usr/local/bin


置用户可执行的二进制文件的目录
/boot

放置linux系统启动时用到的文件。这个目录下有linux的核心文件vmlinz。如果引导程序选择grub,那么这个目录还有/boot/grub子目录

/dev

访问这个目录的文件,就等于访问某台设备(任何设备都是以文件的形式放在这个目录)。有字符设备(键盘,鼠标等)和块设备(硬盘,光盘等)。在此设备下会多出两个属性,主设备号和辅设备号,系统核心就是通过这两个号码来判断设备。

/etc 系统主要的设置文件都放在这个目录内。在此目录下几乎都是纯文本文件,FHS建议不要在此目录放执行文件。通常目录下的各个属性可被一般用户查看,但只有root有权修改。
/home 一般用户的默认家目录都放在这里

/lib

/usr/lib

/usr/local/lib

系统使用的函数库的目录。/lib/modules目录内有核心的相关模块。

/lost+found 系统出现异常,产生错误时,会将一些遗失的片段放在此目录下,通常这个目录会自动产生出现在某个分区最顶层的目录下
/mnt

软盘和光盘的默认载入点(通常软盘挂在/mnt/floppy下,光盘挂在/mnt/cdrom下)

/opt

给主机额外安装软件所方的目录。

/proc 这个目录本身是一个“虚拟文件系统”,它放置的数据都在内存中,如系统核心、形成信息、外部设备的状态和网络状态等。它不占用硬盘空间。
/root 系统管理员的家目录

/sbin

/usr/sbin

/usr/local/sbin

放一些系统管理员才会用到的执行命令(mount,fsck,fdisk等),这个目录是给系统管理员用的,一般用户只可查看不可设置该目录下的执行文件
/srv

一些服务启动后,这些服务所需要访问的数据目录。如WWW服务器需要的网页数据就可以放在/srv/www中

/tmp

一般用户和正在执行的程序临时放置文件的地方,这个目录是任何人都可以访问的,所以要定时清理

/usr

该目录下包含系统的主要程序、图形界面首先要的文件、额外的函数库、本机自行安装的软件,已经共享的目录与文件。它有点像Windows下的Program files和winNT的集合。

l         /usr/include:c、c++等程序语言的文件头与包含文件放置处,当以tarball方式安装某些数据时,会使用到里面许多的包含文件。

l         /usr/share:共享文件放置的目录。

l         /usr/src:Linux系统相关的程序代码放置处,如/usr/src/linux为核心代码

l         /usr/X11R6:系统内的X Window所需的执行文件基本都放在这里

/var

主要放置系统执行过程中经常变化的文件。

l         /var/cache:程序文件在运行过程中的一些暂存盘

l         /var/lib:程序执行过程中,使用的数据文件放置的目录。例如,locate数据库和MySQL以及rpm等数据库系统都放在这里

l         /var/log:登录文件放置的目录。如:/var/log/message就是总管所有登录文件的文件

l         /var/lock:某些设备有被一次性写入的特性,如tab(磁带机),为了要避免被其他人干扰正在运行的操作,会将该设备lock起来,以确定只能被单一程序使用。

l         /var/run:某些程序或服务启动后会把它们的pid放在总这个目录

l         /var/spool:是一些队列数据存放的地方。

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

(0)
yangtianyangtian
上一篇 2016-10-16 10:32
下一篇 2016-10-16 12:16

相关推荐

  • Linux-进程管理

    本小节介绍  1、进程的描述  2、用户怎么样管理进程  3、进程管理的命令 进程的概念        内核的功能:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等。        Pro…

    2017-07-02
  • 五种开源协议的比较(BSD,GPL,LGPL,Apache,BSD)

    BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码…

    Linux干货 2016-01-16
  • 文件查找与压缩

    文件查找与压缩   Locate:非事实查找(数据库查找)     查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行(周期性任务); 管理 员手动更新数据库(updatedb);   工作特点: 查找…

    Linux干货 2016-08-18
  • 安装LNMP + 搭建WordPress个人博客

    安装LNMP + 搭建Wordpress个人博客 前言 来到马哥教育也有几个月了,学了很多知识。现在想要把这些知识能够存储在一个地方,随时随地的都能看到,于是乎我就想到了博客,以下我搭建Wordpress的过程。 安装LNMP 一、关掉防火墙 # chkconfig iptables off 二、安装开发包和库文件 #&nbsp…

    Linux干货 2016-05-31
  • puppet代码分析

    这篇博客的目的是通过分析Forge上的Puppet模块来加深一些概念的理解,同时了解一些常用用法。 今天的例子是jfryman-nginx模块,它是原puppetlabs-nginx模块的升级版本,依赖3个Puppet公共模块:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安装非常方便,puppet m…

    2017-03-18
  • 优云运维安全专家实践:使用802.1X+FreeRadius+LDAP实现网络准入方案

    本文,将为大家分享运维前沿在网络准入管理方面的实践经验。 网络准入业界常用方案 为了保证网络资源的安全,拒绝非法入侵,现代IT网络总需要一定的网络准入方案,而目前业界常用的网络准入方案有: 而今天给大家介绍的802.1X+FreeRadius+LDAP网络准入方案,则避免了上述方案中的缺点,是一套低成本,控制能力强,符合行业标准的一套网络准入认证体系。 什么…

    安全运维 2016-07-10