设备、设备驱动、设备文件和挂载点的关系

Tim*_*Tim 5 linux

Linux 中的设备、设备驱动程序、设备文件和挂载点如何相关(我是 Ubuntu 的初学者)?

我对它们的理解很模糊;我希望会有一些清晰的解释来帮助我了解更大的图景。

Jou*_*eek 5

在 unix 哲学中,所有内容实际上都是目录层次结构中的文本文件文件,这里的所有内容实际上都是该层次结构中各种“文件”的名称

设备是系统可以使用的任何物理硬件或虚拟设备(如 dev/null)=这些通常位于 /dev/ 下。

对于存储设备,所有分区都在 /dev/ 下,需要安装(/dev/sdx 是物理驱动器,/dev/sdx1 /dev/sdx2.. 是分区),使用其他位置下的适当设备驱动程序,通常 /mnt/ 或 /media/ 。但是,只要您有权限,您也可以将分区挂载为层次结构中的特定目录,例如 /home/ 甚至任意目录。挂载点基本上是可以访问分区的位置及其表示在层次结构中

设备文件是文件系统层次结构上设备的表示

虽然这通常是抽象的,但在附加设备时,需要必要的驱动程序,以便系统知道如何与有问题的物理设备“对话”,在存储设备的情况下,文件系统 - 一个完整的安装命令将包括这个,但通常是自动的。这方面的例子是用于硬盘驱动器的通用 libata 驱动程序,以及用于文件系统的 ext3 或各种保险丝驱动程序。