Linux 中的 /dev/sda 是什么意思?

sap*_*Pro 132 linux fedora ubuntu

有什么作用

/dev/sda
Run Code Online (Sandbox Code Playgroud)

代表?这是什么意思?

我安装了FedoraUbuntu,如果我使用Windows 中的Ext2explore探索它们,我会看到以下名称:

/dev/sda6
/dev/sda9
Run Code Online (Sandbox Code Playgroud)

请向我解释这意味着什么。我指的是数字和/dev/sda/部分。

Sha*_*dur 181

TL;DR:这与 Linux(以及其他 Unix 系统)为其驱动器命名的方式有关,与 Windows 使用 C:、D: 等的方式非常相似(注意:这就是我们所说的隐喻。在换句话说,这是一个明目张胆的谎言,它可以帮助人们理解,甚至远不准确。请继续阅读以获取更详细的解释......)

  • /dev/ 是 Unix 目录树中包含所有“设备”文件的部分——Unix 传统上将您可以访问的几乎所有内容都视为要读取或写入的文件。

  • sd最初标识了一个SCSI设备,但由于 USB(和其他可移动)数据载体的激增,它成为了任何块设备(另一个 Unix 术语;在这种情况下,任何能够传输数据的设备)的统称。已经可以通过 IDE 访问。当 SATA 出现时,开发人员认为将其添加到现有框架中比编写一个全新的框架更容易更方便。

  • 紧跟在sd之后的字母表示它第一次被发现的顺序——a ,b,c...z, Aa...Az... 等等(并不是说在现实世界中有很多情况下超过26 个离散块设备在同一条总线上...)

  • 最后,后面的数字表示设备上的分区。请注意,由于PC 处理分区的方式相当随意,因此只有四个“主要”分区,因此编号与实际计数略有不同。这不是一个可怕的问题,因为命名方案的主要目的是以这种方式找到的每个分区都有一个唯一且可识别的标识符......

回答您的具体问题:/dev/sda9表示第一个驱动器上的第九个分区。

  • 这意味着找到的第一个设备将是“sda”,第二个将是“sdb”,依此类推,直到第 26 个设备将被称为“sdz”,如果您最终拥有的设备数量超过那... (14认同)

Ror*_*sop 18

/dev 是您的系统理解的设备的文件系统表示 - 为应用程序提供一种机制来访问设备上的数据,而无需具体了解设备是什么。

sd用于(最初)scsi 磁盘设备,但现在似乎指的是一般的可移动设备和 SATA 设备

字母只是设备的编号,从a开始,编号表示分区。


Tom*_*Yan 14

sd源于驱动程序sd-mod。它的字面意思是s csi d isk。

(S)ATA 磁盘也被列为 SCSI 磁盘的原因是,SCSI 命令几乎提供了 ATA 命令可以提供的功能的超集,因此现代系统(包括 Windows、AFAIK)将实现 SCSI-ATA 转换系统中的层 (SATL)(在 Linux 中由libata驱动程序提供)与 (S)ATA 磁盘通信,而系统的上层可以泛化。

您可能不知道,无论 USB 驱动器是否支持 USB 连接的 SCSI 协议,USB 驱动器都会“说”SCSI(即接受并响应 SCSI 命令)。此外,大多数 USB HDD/SSD 都是桥接到 USB 的 SATA 磁盘。对于那些桥接器提供SATL,但不提供操作系统。