挂载文件系统究竟是什么?

use*_*550 3 filesystems mount

当您“挂载文件系统”时到底发生了什么?它发生在堆栈的哪个级别?为什么它甚至是必要的?

use*_*290 7

我不确定您谈论的是哪个“堆栈”,但让我们尝试一下:

我会说当你挂载一个文件系统时,有两个主要的事情发生:

首先(也是最明显的)是挂载点的选择:如果您将新挂载的文件系统的内容视为目录和文件的子树,则可以告诉(通过指定挂载点)此子树将附加到主树:

例如,假设您的新文件系统包含:

/dir1/file1
/dir1/file2
/dir3
/file3
Run Code Online (Sandbox Code Playgroud)

您当前的“树”(由其他文件系统组成)看起来像:

/usr
/home/usr1
/home/usr1/tmp
/home/usr2
/bin
Run Code Online (Sandbox Code Playgroud)

然后,如果您在安装点“/home/usr1/tmp”挂载新文件系统,那么您实际上将新文件系统“子树”附加到挂载点,因此在示例中创建以下树:

/usr
/home/usr1
/home/usr1/tmp/dir1/file1
/home/usr1/tmp/dir1/file2
/home/usr1/tmp/dir3
/home/usr1/tmp/file3
/home/usr2
/bin
Run Code Online (Sandbox Code Playgroud)

一些更正式的挂载点定义可以在这里找到。

挂载新文件系统时总是需要挂载点,但可以从 /etc/fstab(假设为 linux)中找到“默认挂载点”,因此看起来某些挂载命令可能没有指定任何挂载点。

挂载文件系统的第二个方面通常意味着定义其类型和物理位置。物理位置可以是磁盘分区,也可以是远程服务器……类型是如何解释在这个物理位置找到的内容。

如果你输入:

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

你实际上是在说:

-查看物理位置“cdrom”

- 将存在的 0 和 1 解释为 iso9660“结构”,从而能够在“物理位置”(设备)包含的一堆 0 和 1 中看到文件结构。

- 在挂载点 /media 处附加在文件系统上找到的目录和文件的子树

希望这可以帮助...


小智 2

你可以把Linux系统想象成一棵树。要向树添加某些内容以使其可访问,可以安装文件系统,如果不再需要该特定系统,可以将其从树中删除、卸载。有关更多详细信息,请查看 mount 命令文档:http://www.tutorialspoint.com/unix_commands/mount.htm