为什么在挂载时明确提及文件系统类型?

Sub*_*ath 2 filesystem mount

我想了解 linux 的文件系统概念。在这里发帖之前,我尽力从互联网上收集信息。但是当我在互联网上阅读很多网站时,我真的很困惑..我的理解是

  1. 首次安装操作系统(Linux 风格)时,硬盘上会自动配置文件系统,但根文件系统可能是 ext。现在将有一个现有的目录树结构。

  2. 每当我们启动时,硬盘的根分区会自动挂载到根文件系统(它在/etc/fstab文件中)。

  3. 当我们想查看软盘、USB 等存储设备中的文件时,我们必须将设备附加/dev/cdrom 到现有的根文件系统树中。
    命令是mount -t iso9660 /dev/cdrom /mnt/mycdrom
    我假设默认情况下 ext 文件系统在硬盘中。/mnt/mycdrom是硬盘中文件系统树的一部分。为什么这里明确提到了 iso9660 类型(CD 的标准文件系统)?

另外请建议我是否有任何网站可以让我清楚地了解整个 linux 文件系统、分区、安装?

Ala*_*Ali 5

如果我理解正确,在第 3 点中要问的是:

Linux分区(和所有它里面的文件)使用的ext文件系统,那么为什么我们提到iso9660,当我们想要查看一个CDROM(或者ntfs,如果我们想查看例如Windows分区)时,我们实际上是将它安装/mnt/mycdrom,这是默认ext文件系统(根分区)的一部分。

所以这是我的答案:

我们在挂载时指定文件系统,因为我们想告诉 Linux 如何读取此分区/设备中的数据。所有文件系统都有不同的结构。例如,文件系统中有一个叫做“簇”的东西,这个簇的大小在不同的文件系统中是不同的。先简单解释一下“文件系统”:

  • FAT文件系统中,有两个表:一个 FAT(索引)表和一个目录表。这些表是那些说“这个文件被称为text.doc,它从分区的这一部分开始,并且具有这个大小。这个另一个文件被称为image.jpg,并从这个开始......等等。这些“表" 放置在分区开头的特殊静态位置。

  • 在 NTFS 文件系统中,有不同种类的表,使用不同的格式。

  • 在 CD(文件系统 IOS 9660)中,开头有特定大小的“未使用”空间,后面是数据。

我想说的是每个文件系统都有不同的结构。

现在,在 Linux 中,当您执行以下命令时:

mount -t iso9660 /dev/cdrom /mnt/mycdrom
Run Code Online (Sandbox Code Playgroud)

你告诉 Linux 的是这样的:

  • mount: 使我可以访问此设备中的文件。
  • -t iso9660:这个设备使用文件系统iso9660 (所以现在,Linux 将知道如何从这个设备读取文件,因为你告诉它它是一个iso9660文件系统,而 Linux 已经知道/支持它的文件结构iso9660并知道它的表在哪里以及所有这些)
  • /dev/cdrom:我要挂载的设备;我要访问的设备。
  • /mnt/mycdrom:我想让你挂载这个设备时的挂载点

任何人,如果我在下面的段落中错了,请纠正我。

所以,这个文件夹(或目录)/mnt/mycdrom是默认文件系统的一部分,也就是ext文件系统(根分区)。从技术上讲,该目录本身没有 文件系统iso9660,但它我展示了使用该iso9660文件系统的设备的内容;它充当该文件系统的起点。

Unix/Linux 文件结构的事情是一切都在一个基础下,即根目录/;它是一个分层的文件系统结构。Unix/Linux 将所有分区和其他设备都放在该根目录下,这就是为什么您真的不能说该根目录下的 *所有内容都是ext < 如果我在最后一句话上也错了,请纠正我


进一步阅读: