在Linux中检索硬盘信息,而不使用额外的工具

我需要检索硬盘信息(如我们的物理磁盘容量,型号等)。 我知道这是可能的使用不同的实用程序,如lshwhdparm 。 但是,我需要检索信息,而不使用任何可能未安装的实用程序,只能使用每个Linux系统上默认提供的信息。

如何使用Linux上的预装工具检索磁盘容量和序列号等硬盘信息?

如果您认为cat在您的“禁止”圈子中是实用的,请忽略答案。

要获得磁盘模型,您可以:

  cat /proc/scsi/scsi 

在这里与我的笔记本电脑,它打印:

 kent$ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST9250410ASG Rev: 0004 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: MATSHITA Model: DVD+-RW UJ892 Rev: 1.01 Type: CD-ROM 

它有模型信息。 容量我没有找到如何。 /proc/partitions显示块不是容量。

 cat /proc/partitions 

列出哪些HD有什么能力。 在这个grep你的有趣的磁盘。

 cat /proc/diskstats 

这是不太容易理解,但也可能包含一些答案。

正如birg891已经指出的那样,你可以扫描/dev/disk/by-*目录,但可能他们不会提供很多有用的信息(这是我的经验)。

更好的是你可以选择使用hdparm 。 有关制造商的信息,如果可以检索,你需要发布一个特定的命令,这是很容易使用hdparm但很难实现,使用任何工具的设备。 我知道没有办法只用bash来执行ioctl()

你可以试试看/ dev / disk / by-id。 如果你知道不同品牌的硬盘,他们通常会按照型号上市。 例如,我知道希捷在其型号中包含有关硬盘的信息。 所以,如果你打开/ dev / disk / by-id,你可以得到一个型号,然后在线查看。