简述linux文件系统的层次结构

   尽管LINUX有诸多的发行版,但是所有的版本都遵从同样的文件目录层次结构,即FHS(Filesystem Hierarchy Standard)。有了这个统一的标准,我们在使用不同版本的LINUX时就不会由于版本的不同而找不到相关系统文件的位置,了解FHS有助于我们更好的掌握LINUX的基础构架和文件系统管理。

   LINUX的文件结构是一个以/为根的树状结构,所有的目录都是以/作为入口,因此/目录是LINUX最为重要的目录,有些目录(如/bin,/sbin,/etc,/lib等于系统启动相关的目录)是必须与/目录在同一个分区的,以保证系统可以正常的启动。而有些目录(如/usr、/var、/home等)可以挂在单独的磁盘分区上,这样可以避免重装系统时候这些应用和数据的丢失。

   下面我们来逐个认识一下这些主要的目录是用来存放什么文件的,对系统有什么作用:

   

/boot 主要放置系统启动的静态文件,如bootsactors
/bin 存放是基本的二进制用户命令,管理员和普通用户这些命令在系统启动时候会用到,这里面的命令在单用户模式下都是可以使用的。
/sbin 存放的是基本的管理员命令,这里面的命令会在系统启动、恢复、重装时用到,只允许管理员使用
/etc 存放系统的配置文件
/lib 基本的共享库文件和内核模型
/lib64 64为系统上主要存放共享库文件和内核模型
/dev 存放一些特殊文件以及设备文件
/root root的家目录
/home 用户的家目录所在地,用户登录系统后的默认目录在这里
/mnt 用来挂载别的文件系统的目录
/media 用来挂在可移动媒体设备的目录
/opt 传统的第三方软件的默认安装路劲
/srv 存放系统服务所需要用到的数据文件
/tmp 临时文件目录

   以上的这些目录都是/下的附属目录,出去/boot和/home目录外,其他的目录都不单独挂在硬盘分区,而是和/在同一个分区下,以保证系统的正常启动和运行。

   再介绍两个相对独立的系统目录,他们是LINUX的第二层结构。相对与上面的目录他们比较独立,一般都单独挂载分区。

   1、/usr usr并不是指user,而是Universal+Shared+Read Only的含义, 目录内的文件一般都是不可变的,但是又是可以共享的,目前新的开发软件都将软件的数据放在这个目录下。其下主要有以下几个子目录:

/bin 存放大多数的系统的可执行命令
/sbin 非基础的管理员系统命令
/share 独立数据文件, 放置共享文件的地方,常见的man、doc手册都在此目录下
/lib 程序包的库文件

/lib64

64位系统的程序包的库文件
/include 为C语言程序提供的标准的头文件都存在此目录
/src 源代码存放处
/local 又是一个相对独立的目录,管理员安装自己的软件在此,此目录下也有/bin,/sbin,/share,/src等目录

   2、/var目录,主要从放可变的数据,如缓存、日志之类的文件,因此,随着系统的使用,此目录占用磁盘空间会越来越大。主要有以下几个子目录:

/cache 应用程序运行中产生的缓存文件

/lib

应用程序运行中需要用到的可变的状态信息存放处
/local 为/usr/local下程序存放可变数据

/lock

锁文件
/log 日志文件
/opt 为/opt下程序存放可变数据
/run 运行进程有关的数据,进程和服务的PID都放置在此处
/spool 应用程序缓冲池,排队等候应用程序使用。
/tmp 存放系统重启中产生的临时文件

  除去以上FHS规定的目录,还有两个目录是我们常使用到,他们是两个虚拟的文件系统:

  /proc, 他放置的数据都是在内存当中, 例如系统核心、行程信息(process)、周边装置的状态及网络状态等等.因为这个         目录下的数据都是在内存当中, 所以本身不占任何硬盘空间啊!以后我进行系统调优主要就是正对这个目录操           作。

  /sys,  记录与核心相关的信息. 包括目前已加载的核心模块与核心侦测到的硬件装置信息等,这个目录同样不占硬盘容         量。 

   

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

(0)
frameboyframeboy
上一篇 2015-12-19
下一篇 2015-12-19

相关推荐

  • CentOS6/7下不关机识别新添加的scsi硬盘

    1)需求说明 在虚拟机中,我们在服务器开机的状态下添加新的磁盘或者说从存储上映射某个LUN区域给服务器,不重启系统的情况下,往往不能够直接识别到磁盘,在遇到这种情况的时候,我们可以让系统重新扫描让服务器重新识别到磁盘。 2)处理步骤 下面看一下在系统不重启的情况,如何让系统认识新的磁盘,并能对其分区与格式化 1、在开机状态下新增磁盘 2、执行下面的命令 ec…

    Linux干货 2016-07-22
  • 玩转linux之启动篇

        想要玩转linux,首先明白其启动流程,这里简单说明一下: CentOS 6启动流程:    POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> roo…

    Linux干货 2016-09-26
  • AIDE入侵检测

    AIDE

    当一个入侵者进入了你的系统并且种植了木马,通常会想 办法来隐蔽这个木马(除了木马自身的一些隐蔽特性外, 他会尽量给你检查系统的过程设置障碍),通常入侵者会 修改一些文件,比如管理员通常用ps -aux来查看系统进 程,那么入侵者很可能用自己经过修改的ps程序来替换掉 你系统上的ps程序,以使用ps命令查不到正在运行的木马 程序。如果入侵者发现管理员正在运行crontab作业,也 有可能替换掉crontab程序等等。所以由此可以看出对于 系统文件或是关键文件的检查是很必要的。目前就系统完 整性检查的工具用的比较多的有两款:Tripwire和AIDE ,前者是一款商业软件,后者是一款免费的但功能也很强 大的工具

    2018-01-08
  • /etc/fstab及/boot分区文件恢复

    以centos6为例,/boot目录下有最为关键的开机启动所必须的内核文件、根文件系统驱动文件已经引导加载程序(bootloader)grub。当我们清空此文件夹之后关机,机器就不能正常启动了,这种情况下,可以借助光盘启动进入救援模式解决。具体步骤如下: 1. 开机进入救援模式 这里不像正常情况下,显示根文件系统挂载在/mnt/sysimage目录,而是提示…

    2017-07-09
  • Nginx反向代理原理、压测及模块功能的实现

    基本架设 反向代理模块 缓存功能的实现 修改报文首部IP 向后端转发时是否让客户端知道 在http中定义缓存基本属性 定义当后端服务宕机时过期缓存生效条件 报文首部模块,自定义报文首部 负载均衡模块1 负载均衡模块2 负载均衡模块的常用调度方法1 负载均衡常用调度方法2 与http想等的动态负载均衡模块1 与http想等的动态负载均衡模块2 这里让我们对之前…

    2016-10-30
  • 包管理及源码安装Apache

    一,概述 yum 仓库的安装 在/etc/yum.repos.d/目录下创建后缀名为repo的配置文件 [CentOS7] name= baseurl= gpgcheck= enabled= 配置文件基本包含的四个要求 安装及升级本地程序包: * localinstall rpmfile1 [rpmfile2] […] (用install替代) …

    Linux干货 2016-09-01