UNIX 文件系统的内部结构

UNIX 文件系统的内部结构

在本文中,我们将详细了解UNIX文件系统及其内部结构。

什么是UNIX操作系统

所有实用程序和应用程序都以文件的形式存储。这是一种组织和存储大量信息的逻辑方法。

在UNIX中,文件系统是一个文件和目录的分层结构,用户可以使用这些文件存储和检索信息。

UNIX文件系统的结构

UNIX系统中的所有文件都彼此相关。

UNIX 文件系统的内部结构

UNIX文件系统的目录结构如下所示:

根目录( / ): 目录结构的顶部称为根目录。它也被称为父目录,因为它包含UNIX文件系统的所有子目录。在UNIX系统中,它用斜杠符号表示。

/lib: 此目录包含系统库函数的所有信息和一些关键文件,如内核模块或设备驱动程序。它还包含编译器可以包含在程序中的系统调用。

/bin: 此目录包含系统的二进制文件和特定的基本实用程序。这是用于管理员级别命令(如ls或cp)的目录。路径(var)始终在列表中显示此目录。

以下是/bin目录的子目录:

  • /sbin: 如果有一个您无法执行的命令,系统管理员可以执行此命令,以便它可以在此目录中找到。只有系统和管理员路径显示此目录。

/dev: 它代表”设备”,包含UNIX系统中使用的设备文件的所有信息。这些文件不占用磁盘上的任何空间。它包含有关硬盘、外围设备的文件表示、软盘、设备信息和伪设备的所有信息。

以下是/dev目录的子目录:

  • /dev /HD1: 此设备文件包含第一硬盘驱动器的信息。
  • /dev /HD2: 此设备文件包含第二硬盘驱动器的信息。
  • /dev /FD0: 此设备文件包含第一软盘驱动器的信息。
  • /dev /FD1: 此设备文件包含第二软盘驱动器的信息。

/etc : 此目录及其子目录包含许多UNIX配置文件和系统数据库。这些文件中有许多文本文件,可以根据系统的功能进行更改。它还包含您的登录名和密码信息。

以下是/etc目录的子目录:

  • /etc/passwd: 此目录包含有关系统密码的信息。
  • ./etc/shadow: 此目录包含有关原始密码的信息。

/home: 此目录包含用户的所有家目录信息。每当用户登录系统时,UNIX系统会自动将您放置在一个家目录中。

例如:

如果使用登录名demo登录UNIX系统,您将位于一个可能具有路径名为 /home/demo 的目录中。

此目录在您的帐户打开时由系统创建。您可以使用 cd 命令更改您的家目录,以及使用 pwd 命令查看您当前工作的家目录。

/tmp: 此目录包含UNIX系统或用户在UNIX系统中创建的所有临时文件的信息。

/var: UNIX文件系统的变量目录包含打印作业、发送和接收电子邮件的所有信息。文件系统的变量部分可以用于文件作为数据库存储。

以下是/var目录的子目录:

  • /var/log: 此目录包含系统日志文件的信息。
  • /var/mail: 此目录包含存储所有传入电子邮件的信息。
  • /var/spool: 此目录也称为spool目录。它包含打印作业、邮件排队和其他排队任务的信息。
  • /var/tmp: 此目录包含临时文件的信息。

/usr: 此目录包含与UNIX系统中的用户相关的所有信息。这意味着它包含所有用户帐户,如user1、user2等。

以下是/usr目录的子目录:

  • /usr/bin: 此目录存储UNIX系统中使用的所有用户二进制文件的信息。
  • /usr/include: 此目录存储系统中使用的所有开发头文件的信息。在C/C++编程语言中,#主要使用头文件的include指令。

什么是UNIX文件系统的内部结构

文件系统是一个文件组,其中包含有关如何在磁盘上存储文件和索引节点的信息。

UNIX文件系统的内部视图如下图所示:

UNIX 文件系统的内部结构

在上图中,它定义了几个参数,如下:

  • 引导块(Boot block): 它是UNIX文件系统的第一个块,包含一个小的引导程序,即引导程序。它在启动时加载到主内存,并执行。这个引导程序是从一个名为根文件系统的文件系统的引导块中获取的。
  • 超级块(Superblock): 它包含文件系统的静态参数,如总大小、总数据块数和文件系统状态、inode数、空闲和已使用的inode以及文件系统的块大小。超级块被保存在内存中,并由内核维护。 文件系统的组织方式将磁盘分区划分为一个或多个称为柱组的区域。该组由磁盘上一个或多个连续的柱面组成。每个柱面组由一个超级块的重复副本、inode空间和一个描述柱组内数据块使用情况的摘要信息组成。
  • 索引节点(Inodes): 它代表索引节点。当创建文件时,还会创建一个索引节点,用于保存该文件的所有属性信息。索引节点数表示UNIX系统中最多可以有多少个文件。 文件的inode负责存储整个文件的相关数据,除了文件名以外,文件名作为其父目录中的一个条目存储。 当打开文件时,内核将其对应的inode从磁盘复制到主内存。inode包括文件类型、文件的访问权限信息(读、写或执行)、指向该文件的多个链接、文件大小(以字节为单位)以及拥有该文件的用户和组的表示方式。
    UNIX 文件系统的内部结构

  • 数据块(Data blocks): 数据块从inode列表的末尾开始,包含文件数据。在UNIX系统中,一个分配的数据块只能属于一个文件。磁盘头寻址以访问数据块,我们从同一柱组中分配块。如果单个文件无法占据柱组中的所有块,或者文件超过一定大小,则进一步的块分配将被重定向到其他柱组。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程