/dev 保存了所有分区,那么 /dev 保存了什么?

/dev 保存了所有分区,那么 /dev 保存了什么?

我有点困惑(即使读完之后)关于 *nix 分区如何工作的帖子。

据我了解,sda通常指的是磁盘sda1sda2、 等,指的是位于磁盘上的第一个、第二个分区等。这似乎合乎逻辑,但后来我也读到了一些目录(或者我认为它们是目录),实际上是分区,例如/boot//var/tmp

这些分区位于哪里?如果sda是磁盘并且 lsblk 显示上仅有的分区sda-sda1并且sda8这 8 个分区从头开始一直到磁盘的末尾,那么这些其他分区可能存在于哪里?


  1. 目录就像/boot分区/var一样吗?
  2. 如果是,它们相对于分区位于磁盘上的什么位置sdaX
  3. 我似乎无法从parted、fdisk 或lsblk 中找到有关这些目录/分区的任何信息。我怎样才能在我的机器上找到有关这些的更多信息?
  4. 如果/dev/sda是磁盘,那么 是什么/,它在哪里sda

答案1

/dev不包含任何分区。/dev是一个事实上的标准地方来保存所有设备节点。最初,/dev它是根文件系统中的一个普通目录(因此创建的设备节点在系统重新启动后仍然存在)。如今,大多数 Linux 发行版都使用 RAM 支持的特殊虚拟文件系统。

对于特定分区上的某些文件系统或所需的分区总数,没有任何类型的标准。

不过,有许多良好实践/特定于发行版的标准可以将系统的各个部分放置在单独的分区上。

您可以找到一个占用单个分区来满足其所有需求的 Linux 安装。

在多分区安装中,“/boot”通常是一个单独的分区,以保持 BIOS 和/或引导加载程序的可读性。此外,某些引导加载程序和内核对要使用的根文件系统类型有限制。

在大多数情况下,剩下的取决于您,因此您可以根据需要将磁盘拆分为分区(数据存储要求、临时文件、日志等)

答案2

文件系统中的文件或目录实际上不需要与磁盘上的任何内容相对应。例如,您可以让一个文件系统(及其文件)或其一部分完全存在于内存中。

但它们根本不必是文件,至少在我们通常使用该术语的意义上是这样。将文件系统及其“文件”视为抽象接口。几乎所有文件都将简单地对应于磁盘(或其他存储设备)上某处的文件,但理论上它可以对应于任何可以处理流格式数据的文件。当然,除了管道和套接字等特殊东西之外,在 /dev 目录之外很少看到这种东西。

例如,虽然这可能有点过于简单化,但您的计算机上可能有一个名为 /dev/someport 的端口,并且将字符串“foo”写入此“文件”实际上会通过该端口发送字符串“foo”,而无需触摸任何磁盘上的任何内容。

答案3

唯一类似于分区的/dev/udev它是一个用于动态设备分配的伪文件系统,这是一个内核功能,可以使设备文件灵活且易于使用。

您在 中看到的/dev/设备文件实际上指的是真实设备,包括硬盘驱动器(/dev/sda)及其分区(/dev/sda1)。

分区安装在所谓的安装点上:分区在现有文件系统树中链接的位置。

/是主(根)分区安装点。 /boot/通常是引导分区的安装点。 /var通常不是挂载点。 /tmp通常是tmpfs专门为处理内存中的临时文件而设计的文件系统。

要列出已安装的分区,请使用mount。预定义的安装点在 中定义/etc/fstab

答案4

/boot并且/var不一定在自己的分区上,但您可以在安装 *nix 操作系统时这样做...我个人/home有自己的分区

这些文件夹真正包含的数据位于实际硬盘驱动器的某些部分,并且我猜这些/dev/sda*文件只是有关实际磁盘分区的信息(例如它在磁盘上的开始和结束,它的文件系统......)

您没有获得有关这些假定分区的信息,也许只是您没有它们。您可能在安装 Ubuntu(或 *nix)时跳过了此选项。

所以/dev/sda不是磁盘本身,而是描述硬盘驱动器的文件。
如果您有引导分区,/通常是您的分区/dev/sda2

相关内容