fdisk(8)说:
设备通常是/dev/sda、/dev/sdb等。设备名称是指整个磁盘。没有 libata(Linux 内核内部用于支持 ATA 主机控制器和设备的库)的旧系统会在 IDE 和 SCSI 磁盘之间产生差异。在这种情况下,设备名称将为 /dev/hd* (IDE) 或 /dev/sd* (SCSI)。
分区是设备名称后跟分区号。例如,/dev/sda1 是系统中第一个硬盘上的第一个分区。 另请参阅 Linux 内核文档(文档/devices.txt文件)。
基于此,我理解在Linux的上下文中,像/dev/hda
或 这样的字符串/dev/sda
是“设备名称”。否则,我上面强调的第二句话就没有意义:它会说:“例如,sda1是系统中第一个硬盘上的第一个分区。”
这一观点得到了证实Linux 分区指南:
按照惯例,IDE 驱动器将被给出设备名称 /dev/hda 到 /dev/hdd。
hda
对于子字符串或sda
此类设备名称,是否有技术上正确的(并且最好是明确且简洁的)英语术语?例如,在这种情况下调用sda
驱动器是否正确:
- “简称”;或者
- “不合格的设备名称”;或者
- 还有什么吗?
(我并不是要求使用技术上不正确的口语,即使它们很常用。)
答案1
sda
是设备姓名。/dev/sda
是设备小路。
想起来了/sbin/fdisk
,fdisk
就是文件姓名,而/sbin/fdisk
是文件小路。
答案2
根据您的观点,sda
的部分可能代表几件事:/dev/sda
文件名
一般来说,它是一个文件的名称,如果是磁盘,则它是一个堵塞设备,因此,设备名称作为根用户:
$ ls -la /dev/sd* brw-rw---- 1 root disk 8, 0 Sep 11 22:01 /dev/sda brw-rw---- 1 root disk 8, 1 Sep 11 22:02 /dev/sda1 brw-rw---- 1 root disk 8, 2 Sep 11 22:01 /dev/sda2
磁盘名称
sda
是为磁盘提供名称的字符串(与分区 sda1、sda2、sdX 等不同)。它通常由 udev 根据应用的设备规则生成。目录路径
sda
是路径的基本名称/dev/sda
仅限于与磁盘名称相关的解释:
过去:sda 曾经是设备名称SCSI 磁盘 A。
由于同一个库已扩展到 SATA 驱动器,我想现在应该将其称为:
device name: SATA/SCSI/SAS disk a
或者简单地:
device name: first SATA/SCSI/SAS disk
答案3
这是内核生成的块磁盘/分区设备名称:
sda
是一个磁盘名称由内核生成。内核驱动程序(包括 SCSI 堆栈,这对于 SATA 磁盘来说非常方便)填充disk_name
结构体字段gendisk
(即对于 SCSI:驱动程序/scsi/sd.c#L3338) 来生成sda
名称。
该名称稍后用作/dev
、/sys
、中对应块设备的名称/proc/{partitions,diskstats}
。然而,procfs 手册将其命名为分区名称(过程(5))和磁盘统计文档称其为设备名称(iostats.txt)。
答案4
“一切都是文件” - 那么设备的sda
简单文件名、/dev
目录(以及空字符串扩展名)不是通过完整路径(/dev/sda
按照惯例是第一个非 IDE 磁盘)提供的吗?就像passwd
文件名和/etc
文件目录可访问一样,因为/etc/passwd
按照惯例包含密码数据?