2012-12-14 158 views
1

有人可以阐明我可以使用哪些命令从硬盘驱动器获取以下内容。如果有这样的内部Python模块,最好不过,但可能不是。我有根访问权限获取任何信息,但我想不必再下载额外的软件包望而却步,所以:Python获取硬盘驱动器信息

procinfoswaponhdparmhardinfo是出来的图片,没有拖欠的Fedora 17,不确定其他发行。

Index (Device 0, could be more) 
Description (Full Name, Western Digital Black Edition.....) 
InterfaceType (IDE, SCSI) 
Manufacturer (Western Digital, Seagate, Maxtor) 
Model (WDxxx) 
Size (in KB, MB or GB) 
Partitions (if Any) 

回答

4

退房的sysfs输出。例如,对于我的Ubuntu 12.04系统上的第一盘的大部分信息可以从读取或以下的文件和目录的存在推断:

  • /SYS /块/ sda上的/ dev
  • /(实际上是“ATA”,意味着SATA,而不是像预计的那样是“Western Digital”)
  • /sys/block/sda/device/model
  • /sys/block/sda/size
  • /sys/block/sda/sda1
  • /SYS /块/ SDA/SDA2
  • /SYS /块/ SDA/SDA5
+0

我不能使用'sysfs',因为它没有在Fedora 17上默认,但是,我可以绝对使用列出的命令!你知道他们是否可以在大多数Linux发行版上进行基本安装?这很好,非常感谢。 – Dayan

2

我想我找到了一个很好的终端命令,似乎提供了很多我要求的信息,还有更多。

fdisk -l 

现在的问题仍然是如何解析这个数据量!

fdisk-l

Disk /dev/sda: 750.2 GB, 750156374016 bytes 
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors 
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes/512 bytes 
I/O size (minimum/optimal): 512 bytes/512 bytes 
Disk identifier: 0xf4375e1b 

    Device Boot  Start   End  Blocks Id System 
/dev/sda1 *  2048  206847  102400 7 HPFS/NTFS/exFAT 
/dev/sda2   206848 895822804 447807978+ 7 HPFS/NTFS/exFAT 
/dev/sda3  1151823870 1465147391 156661761 5 Extended 
/dev/sda4  895823872 1100623871 102400000 83 Linux 
/dev/sda5  1151823872 1435025407 141600768 83 Linux 
/dev/sda6  1435027456 1465147391 15059968 82 Linux swap/Solaris 

Partition table entries are not in disk order 

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors 
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes/512 bytes 
I/O size (minimum/optimal): 512 bytes/512 bytes 
Disk identifier: 0x3ac08bdc 

    Device Boot  Start   End  Blocks Id System 
/dev/sdb1   2048 1953521663 976759808 7 HPFS/NTFS/exFAT 

Disk /dev/sdc: 16.0 GB, 16008609792 bytes 
255 heads, 63 sectors/track, 1946 cylinders, total 31266816 sectors 
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes/512 bytes 
I/O size (minimum/optimal): 512 bytes/512 bytes 
Disk identifier: 0x00000000 

    Device Boot  Start   End  Blocks Id System 
/dev/sdc1    32 31266815 15633392 7 HPFS/NTFS/exFAT 
+0

FDISK让我害怕:P –

+0

@Joran比斯利告诉我吧!那输出看起来令人沮丧! – Dayan

+2

这真的很容易解析 - 如果一行以''Disk /''开始,它就是磁盘条目的开始。由于它和接下来的五行具有固定的格式,所有有趣的数据都可以通过简单的“split”(空格)来提取(只需选择您感兴趣的字段的索引)。之后跳过这两行,并且您位于分区表的开始位置,同样需要将其分割为多个字段。 – l4mpi