17 linux gnu terminology
fdisk(8)说:
设备通常是/dev/sda、/dev/sdb 左右。设备名称是指整个磁盘。没有 libata(Linux 内核内部用于支持 ATA 主机控制器和设备的库)的旧系统使 IDE 和 SCSI 磁盘有所不同。在这种情况下,设备名称将为 /dev/hd* (IDE) 或 /dev/sd* (SCSI)。
分区是一个设备名称,后跟一个分区号。例如,/dev/sda1 是系统中第一个硬盘上的第一个分区。 另请参阅 Linux 内核文档(Documentation/devices.txt文件)。
基于此,我理解在 Linux 的上下文中,像/dev/hda
或这样的字符串/dev/sda
是“设备名称”。否则,我上面强调的第二句话是没有意义的:它会说,“例如,sda1是系统中第一个硬盘上的第一个分区。 ”
Linux Partition HOWTO证实了这个观点:
按照惯例,IDE 驱动器将被赋予设备名称 /dev/hda 到 /dev/hdd。
对于子字符串hda
或sda
这样的设备名称,是否有技术上正确的(最好是明确和简洁的)英文术语?例如,在这种情况下调用sda
驱动器是否正确:
(我不是要求使用技术上不正确的口语,即使它们很常用。)
Chi*_*aba 26
sda
是设备名称。/dev/sda
是设备路径。
想想/sbin/fdisk
,fdisk
是文件名,/sbin/fdisk
而是文件路径。
该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
Run Code Online (Sandbox Code Playgroud)磁盘名称
sda
是为磁盘命名的字符串(不同于分区 sda1、sda2、sdX 等)。它通常由 udev 根据应用的设备规则生成。
目录路径
sda
是路径的基本名称/dev/sda
仅限于与磁盘名称相关的解释:
在过去: sda 曾经是SCSI 磁盘 a的设备名称。
随着同一个库扩展到 SATA 驱动器,我想现在应该调用它:
device name: SATA/SCSI/SAS disk a
Run Code Online (Sandbox Code Playgroud)
或者干脆:
device name: first SATA/SCSI/SAS disk
Run Code Online (Sandbox Code Playgroud)
小智 0
sda
可以正确地称为驱动器的“基本名称” 。
sda
也可以正确地称为驱动器的“内核磁盘名称” 。
通过对每个看似合理的候选者的排除过程:
这不可能是正确的术语。正如原始问题中所述,它指的是完全限定名称(例如/dev/sda
),而不是最终片段(例如sda
)。
其他来源中存在确凿的证据,例如《SUSE Linux Enterprise Server 12 权威指南》第68 页:
您还可以选择使用……基于设备名称的安装(例如
/dev/sdb1
)……
以及《Linux 圣经 2008 年版》第 94 页:
单击“设备”选项卡并输入设备名称(例如
/dev/cdrom
)...
这也不是正确的术语,因为它在技术文档中用作完全限定名称(例如)的同义词/dev/sda
,而不仅仅是最终片段(例如sda
):
basename - 从文件名中删除目录和后缀
dirname - 从文件名中删除最后一个部分
这也不是正确的术语,因为它在技术文档中用作完全限定名称(例如)的同义词/dev/sda
,而不仅仅是最终片段(例如sda
):
basename
从name中删除所有前导目录组件。
dirname
打印每个name的除最后一个斜杠分隔部分之外的所有部分。
这也不是正确的术语。我找不到任何将设备名称的最后部分称为“短名称”或“短名称”的技术文档。在 Linux 或 GNU 中,这些术语似乎仅在VFAT 安装选项或网络上的主机 名上下文中使用。
这个术语似乎是一个有效的答案,基于安装 Red Hat Linux 7的第 149 页:
绝对确保您计划分区的磁盘的基本名称未列出(
hdb
对于我添加的驱动器来说,这是 )。
以及阿尔冈昆学院CST8207(GNU/Linux 操作系统)课程笔记:
基本名称的定义:任何路径名的基本名称都是其最右侧的名称组件,位于最右侧斜杠的右侧。
以及《Red Hat Linux 8 实用指南》第 1456页:
基本名称:文件的名称,与路径名相反,它不提及包含该文件的任何目录(因此不包含任何斜杠[/])。例如,
hosts
是 的基本名称/etc/hosts
。
令人高兴的是,GNU/Linux 也有一个basename
命令,可以用来获取基本名称:
$ basename '/dev/sda'
sda
Run Code Online (Sandbox Code Playgroud)
由于Linux Kernel in a Nutshell的第 100 页,这个术语似乎也是一个有效的答案:
/dev/<diskname>
使用 指定的内核磁盘名称作为
<diskname>
根磁盘。
顺便说一句,“内核磁盘名称”在Solaris上下文中似乎也是有效的术语:
对于此版本的 iostat 命令,输出仅按物理设备路径而不是逻辑内核磁盘名称(即,而
c0t0d0
不是sd0
)显示具有非零活动的磁盘设备的扩展统计信息。