20150823-Linux的文件系统组成结构


概述

  在我们的Windows主机之上,要想使用文件,或者说我们需要在磁盘上存储很多的数据时,必须要有文件系统来加以组织,存取。如果我们在一个地方存放很多是杂物,不但没法进行统一的存取,而且杂乱无章,寻找某一样东西的时候,往往耗费许多的精力去全部寻找一遍。如果我们有更好的组织存放的小柜子和标签,那么我们找起来就会更高效和方便。 在Linux的系统里,同样存在文件系统。

Linux文件系统简介

  Linux文件系统与Windows的文件系统有所区别,Linux文件系统由一个统一个文件访问入口,我们称之为根分区,也叫做根文件系统,简称为rootfs。所以Linux系统有绝对路径之说。如果我们要访问其他分区,那么必然先要在根分区找到该分区的链接文件或者是相应的关联关系,通过这个关联关系连接到我们要访问的分区。这也叫着文件系统的挂载。

  由于Linux发行版众多,如果每一个发行版都执行随意的去组织自己的文件系统的话,那么我们学习不同的Linux发行版时将无处下手,到底这个发行版的文件在那儿啊,这还需要我们慢慢的去了解该发行版的文件系统规范。这很不友好和人性化。所以在Linux有一个标准库核心规范,简称LSB,LSB规范当中,有一个针对Linux文件系统的规范,简称为FHS(文件系统层级结构标准)。在FHS当中,规定了无论是哪一个发行版,都必须遵守的根文件或者根目录下的一级子目录、二级至目录、三级子目录的目录组成结构,并且他们每个目录的功能是什么,FHS也有明确的定义。

Linux文件系统的逻辑组成结构

  在FHS中,定义的Linux逻辑组成结构:

  wKiom1XhmC_y8AFeAADk83ycGwM681.jpg

    /:根目录

      /boot: 引导文件存放目录,例如kernel(vmlinuz)、bootloader(grub, grub2);

      /bin: binary,供用户使用的基本的命令;OS启动即会用到程序;

      /sbin:管理类的基本命令;

      /lib: 基本共享库;内核模块;

      /lib64:x86_64系统的共享库的存放位置;

      /etc:专门用于存放配置文件的目录,大多数的是纯文本文件;需经常备份

      /home/USERNAME: 普通用主目录的默认位置;

      /root: 管理员的主目录;

      /media:用来实现挂载的目录,该目录用于挂载便携式移动设备;

      /mnt:临时文件系统挂载点;

      /opt: 可选目录,早期Linux发行版第三方应用程序的默认安装位置,现在移动到别的位置;

      /dev:用来存放设备文件,在这里只有元数据而没有源数据。

         b:块设备 指的是随机访问的设备,以块为单位进行存取。

         c: 字符设备 指的是线性访问特性的设备,以字符为单位进行存取。

      /proc:伪文件系统,用于输出内核与进程的相关信息,是内核参数的输出接口;

      /sys:伪文件系统,也是内核中的信息,内核输出给用户空间使用的,主要是输出硬件信息;

      /srv:services的简写,指的是系统上运行服务用到中间数据,这些数据我们很少受到进行操作,这些数据并不是临时数据,并不能当作临时清理掉;

      /tmp:临时文件目录;

      /usr:Universal Shared, Read-only data 全局共享的只读数据,为所有用户说使用。通常被独立分区,是一个独立的文件系统。

          /bin:作用和根目录下的bin一样,保证系统提供基本功能;

          /sbin:作用和根目录下的sbin一样,

          /lib:库。

          /lib64:64为的库。

          /include: C语言应用程序的头文件;头文件就是用来指明库文件下的这些文件是如何被使用的,以及声明已经使用它了。

          /share:结构化的独立数据,有doc, 有man,应用程序的帮助手册一般都放在该目录下,这些文件一般都是只读文件。

          /local:以前使用opt来存储,现在常用的第三方程序的安装位置;可独立分区,按需求来进行自定义划分。

              /bin

              /sbin

              /lib

              /lib64

              /etc

              /share

      /var:是variable data files的简写。存储进程那些发生变化的数据。 

          /cache:应用程序缓存数据。

          /lib:应用程序的状态信息数据。

          /local:专用于为/usr/local下的应用程序存储可变数据;

          /lock:锁文件

          /log:日志文件

          /opt:专用于/opt

          /spool:应用程序的数据池;

          /run:运行中的进程的相关数据;通常用守护进程 的pid文件;

      /selinux:只有启用了selinux时才有意思,不细说明。


Linux的文件类型

  在Linux的系统之上,同常有以下几种文件类型:

  通过ls命令查看,在最前面的标志(d或 -)可以表示目录或文件,那就是不同的文件种类。

  wKioL1Xhn1KRQhvPAAOFpUZ5Vm8898.jpg

      -:普通文件,一般我们存取的文件类型。

      d: 目录文件,就是目录,和windows的文件夹类似。

      b: 块设备文件,就是存储数据以供系统存取的接口设备。

      c: 字符设备文件,以字符方式存储,即串行端口的接口设备,例如键盘、鼠标等等。

      l: 符号链接文件,有点类似于windows的快捷方式。

      p: 命名管道文件,是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。

      s:套接字文件,这类文件通常用在网络数据连接。我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。


你可能感兴趣的:(配置文件,应用程序,Services,Devices)