根分区中的/home目录是否映射到/home分区

根分区中的/home目录是否映射到/home分区

我的/home分区已打开/dev/sda1。我的/分区已打开/dev/sda2

每当我在分区中创建文件时,/home它都会显示在目录/下的分区中/home

Windows相当于在D盘创建一个文件,该文件在C盘也可见。

这怎么可能 ?

答案1

如果您今天的文件系统体验基于 Windows 或单磁盘/分区系统,那么您可能不习惯挂载点的概念。 (尽管 Windows 现在也支持在挂载路径上挂载磁盘,但这并不像 Linux/Unix 中那么常见)

Linux/Unix 中的文件系统是一个嵌套的文件层次结构。 (文件夹也是文件..)

你从 开始/。一切的根源。就您而言,这是在分区上/dev/sda2。随着/homeon /dev/sda1,你最终会得到

  • /
    • dev/
      • pts/
      • (东西)
    • sys/
    • home/
      • rebecca/
        • txtfile.txt
      • bob/

等等(还有很多目录,这只是一个例子)

/因此,从->开始的路径/home/rebecca/textfile.txt应尽可能透明。因此,虽然看起来textfile.txt位于/分区中,但实际上并非如此。它在/home/分区中。只是这样分区位于目录mounted中。//home

尝试这三个命令:

  • df /
  • df /home/
  • df /home/rebecca/textfile.txt <-- 使用文件的真实路径

df命令将显示运行该命令时安装在系统上的所有文件系统(真实的和虚拟的)。正如我在上面的示例中所使用df的那样,可以过滤输出,以便您一次检查更少的内容。


长话短说- 这就是 Unix 和 Linux 挂载点的工作原理,使所有不同的磁盘一起显示为一个内聚的文件和目录树。

答案2

在 POSIX 文件系统中,一切存在于文件系统根目录内部的某个位置,位于/.在您安装在 的根分区上/,您有一个目录/home。该目录(大概)被用作挂载点(即已安装的文件系统(例如分区)所在的位置)用于home分区。在那里创建的文件在分区中创建home,其内容在该分区的安装点上可见。

尽管使内容/home消失会引起问题,但如果您要:

# umount /home; mount /dev/sda1 /mnt; ls /mnt

你会看到什么内容曾经在/home,现在可见于/mnt

实际上不要这样做;这是一个示范性的思想实验。

mount在不给定任何参数的情况下,通过观察命令的输出,您可以看到在哪些安装点安装了哪些文件系统的列表。

答案3

包含您自己的文件的文件系统(分区)可以放置在文件系统树中的任何位置,文件系统树以/.通常它放置在/home并且其中有一个以您的用户名命名的目录。例如,您可能有/home/rebecca.

基于 UNIX 的系统(包括基于 Linux 的系统)使用单根文件系统 ( /)。 Windows 系统使用多根文件系统(C:D:等)。

当您将文件写入某个位置时,通常不需要担心它被写入哪个分区,只要有足够的磁盘空间来保存文件的内容即可。

相关内容