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
下一篇 2016-10-16

相关推荐

  • N25_第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 2、写一个脚本     (1) 获取当前主机的主机名,保存于hostname变量中;     (2) 判断此变量的值是否为localhost,如果是…

    Linux干货 2017-02-02
  • 搭建SSH服务器

    Linux 远程登录服务:sshSSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。不同的是,口令用户验证方式传输的是用户的账户名和密码,这要求输入的…

    Linux干货 2017-07-24
  • Linux系统启动流程

    对于linux系统的初学者来说,理解并掌握linux系统启动流程能够使你够深入的理解linux系统,还可以通过系统的启动过程来分析问题解决问题。   Linux系统的启动流程   关于linux系统的启动流程可以分为以下步骤:     POST(加电自检)–>加载BIOS(Basic Inp…

    Linux干货 2015-05-18
  • shell脚本基础

    shell脚本编程基础 1、基本格式 首先在编写shell的开始要声明一下该shell所用的脚本类型,我们也称为shebang机制 eg: #!/bin/bash # Description … 2、bash中的变量的种类 (1)、本地变量 生效范围: 当前shell进程,对当前shell之外的进程及子进程均无效 (2)、环境变量 生效范围: 当前she…

    Linux干货 2017-08-04
  • 18-系统启动故障修复-实践

    说明:重启时可以选择性在vmlinuz所在行末尾添加 selinux=0;或者直接编辑/etc/selinus/config文件,更改 SELINUX=disabled 关闭SELINUX。可以避免打标签,节省启动时间 以下操作都需要进入bootloader引导加载项修改内核启动参数,在vmlinuz所在行末尾添加一个启动选项 如何进入bootloader引…

    2017-04-02
  • 文本编辑器:vim 基础篇

       VI:Visual Interface,是一种文本编辑器,还是全屏编辑器。   VIM:Vi IMproved,vi的增强版,vim是模式化的编辑。 VIM的三种模式:        编辑模式(命令模式,默认模式)       插入模…

    Linux干货 2016-08-18