我阅读了“mount”命令的手册页,内容如下:
Unix 系统中可访问的所有文件都排列在一棵大树中,即文件层次结构,根为
/
。这些文件可以分布在多个设备上。 mount 命令用于将某个设备上的文件系统附加到大文件树中。
我的问题是:
这棵“大树”位于哪里呢?
假设我有 2 个磁盘,如果我将它们挂载到“大树”中的某个点,Linux 是否会在挂载点放置一些“特殊标记”来表明这 2 个“挂载目录”确实是单独的磁盘?
答案1
您将在山手册页。
关于第一个问题,大树长什么样子:)
答案2
这棵“大树”位于哪里呢?
它位于 / :-)。“大树”指的是 Linux 只有一个系统范围的文件层次结构(从 / 开始)。这与 MS-DOS 和 MS Windows 等不同,后者可以有多个文件层次结构(每个驱动器号一个)。
假设我有 2 个磁盘,如果我将它们挂载到“大树”中的某个点,linux 是否会在挂载点放置一些“特殊标记”来表明这 2 个“挂载目录”确实是独立的磁盘?
不,挂载点本身没有“特殊标记”。但是,内核会跟踪哪个实际文件系统(硬盘)挂载在哪个位置,因此当您访问文件(例如 /usr/local/bla/blo/xxx)时,它知道从哪里读取数据。例如,可以通过运行 查看此信息mount
,其中列出了所有已挂载的文件系统及其在文件层次结构中的当前挂载点。
答案3
如果你输入mount
不带参数的,它会告诉你挂载了什么目录以及挂载在何处。例如,如果答案是/dev/sda1 on / type ext3 (rw)
,则意味着你第一块硬盘上第一个分区的根目录实际上是你的“大树”的根。
现在假设您还得到了这一行/dev/sdb1 on /home type ext3 (rw)
。这意味着您的目录内容/home
将是第二块硬盘上第一个分区的根目录。可以有其他虚拟文件系统,这些文件系统不存在于任何分区中,但由系统动态管理。例如,您从实时 CD 启动,并挂载用作系统分区的分区。假设您输入。
mkdir /media/system
mount /dev/sda1 /media/system
现在,您将在 中看到系统的根目录(您经常使用的目录,而不是使用 CD 启动的目录)/media/system
。您还将看到像 这样的目录dev
是空的,因为它们通常包含虚拟文件系统。
如果您要问系统如何确定此分区的位置,则全部写在 中/etc/fstab
。man 5 fstab
如果您需要有关此内容的更多信息,请键入。是的,我知道这里有一个先有鸡还是先有蛋的问题,因为系统必须在挂载目录之前找到/etc/fstab
(并且/sbin/mount
)。答案是,我不知道,但它工作得很好。
编辑:我可以补充一点,所有分区都有一个称为 UUID 的唯一标识符。您可以通过键入 来使用此标识符进行挂载mount -U uuid_of_partition /media/mount_point
。通常在 中以这种方式完成/etc/fstab
,以避免出现问题,例如,您更改了机器中的磁盘顺序。
答案4
这棵“大树”位于哪里呢?
在你的电脑上。说真的。所有磁盘加在一起,加上所有内存设备和伪设备、终端、调制解调器,一切都形成一棵大树,称为“文件系统”,它是你的电脑。
假设我有 2 个磁盘,...linux 是否会在挂载点放置一些“特殊标记”来表明这 2 个“挂载目录”确实是独立的磁盘?
是的。