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的学习之路-第一周

    >N21-Keen-第一周作业 ### 1. 计算机的组成及其原理     >计算机的组成是根据冯诺依曼体系设计的,主要分为五大部分:控制器、运算器、存储器、输入设备和输出设备。          >其中控制器和运算器分布在CPU上,主要用来做控制和运算作用。存储器也就是…

    Linux干货 2016-07-16
  • 终端的类型

    Linux下的终端是一个连接系统的接口,它有以下几个分类     tty:虚拟终端       tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。   &nbsp…

    Linux干货 2016-10-20
  • rpm包管理

    rpm包管理 rpm(RedHat Package Manager) 是RedHat公司发展的一种将软件安装到Linux系统的管理机制,也是一种数据库记录方法。 Linux系统上软件的安装主要分两种方式,从厂商发布的tarball通过编译来安装;或者使用厂商已经在相应平台上编译好的二进制文件。 从源码编译安装的程序,在漏洞修补以及软件功能升级时太过麻烦,并且…

    Linux干货 2016-11-18
  • 马哥教育网络班21期+第15周课程练习

    1、总结sed和awk的详细用法; sed 流编辑器,处理一行数据到模式空间(p),不匹配条件话就输出源行,匹配条件且有处理话,就输出处理过后的行和源行, 匹配条件且没有处理动作的话,只输出p空间的行;保持空间(h)用来存放模式空间的临时处理结果 [root@centos ~]# sed ''&nb…

    Linux干货 2016-08-30
  • 马哥教育网络班21期第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin_user;other_user all_users=`awk -F':'…

    Linux干货 2016-09-19
  • linux中for的用法

    关于linuxbash shell中的for语句 在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循环命令,今天就介绍一下关于for的一些用法。文中任何错误希望大佬们一一指出,不胜感激。 bashshell中提供了for命令,用于创建通过一系列值重复的循环,每次重复使用系列中的一个值执行一个定义的命令…

    2017-07-15