2012-12-14 198 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