Answers:
如果仅对块存储设备感兴趣,则可以lsblk
从广泛使用的util-linux软件包中使用:
$ lsblk -o KNAME,TYPE,SIZE,MODEL
KNAME TYPE SIZE MODEL
sda disk 149.1G TOSHIBA MK1637GS
sda1 part 23.3G
sda2 part 28G
sda3 part 93.6G
sda4 part 4.3G
sr0 rom 1024M CD/DVDW TS-L632M
它非常适合与许多其他可用列一起编写脚本。
您可以浏览或类的lshw
设备的输出并提取有关设备的详细信息(也许还有其他类- 类为您提供有关存储控制器,scsi,sata,sas等的详细信息)。disk
tape
storage
例如
lshw -class disk -class tape
该-short
选项给出了一个很好的紧凑摘要。例如在我的家用zfsonlinux服务器/工作站/实验箱上(不幸的是没有磁带设备):
#lshw-类磁带-类磁盘-类存储-short 硬件路径设备类别描述 ================================================== ======= / 0/100/4/0存储JMB362 SATA控制器 / 0/100/5/0 scsi10存储JMB362 SATA控制器 /0/100/5/0/0.0.0 / dev / sdc磁盘120GB Patriot Wildfire / 0/100 / b / 0 scsi1存储SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] /0/100/b/0/0.0.0 / dev / sdd磁盘1TB WDC WD10EARS-00Y /0/100/b/0/0.1.0 / dev / sde磁盘1TB WDC WD10EACS-00Z /0/100/b/0/0.2.0 / dev / sdf磁盘1TB WDC WD10EACS-00Z /0/100/b/0/0.3.0 / dev / sdg磁盘1TB ST31000528AS /0/100/b/0/0.4.0 / dev / sdh磁盘1TB ST31000528AS /0/100/b/0/0.5.0 / dev / sdi磁盘1TB ST31000528AS /0/100/b/0/0.6.0 / dev / sdj磁盘1TB ST31000528AS / 0/100/11 scsi2存储SB7x0 / SB8x0 / SB9x0 SATA控制器[AHCI模式] / 0/100/11/0 / dev / sda磁盘128GB Patriot Torqx 2 / 0/100/11/1 / dev / sdb磁盘1TB ST31000528AS / 0/1 scsi11存储 /0/1/0.0.0 / dev / sdk磁盘1967MB SCSI磁盘 /0/1/0.0.1 / dev / sdl磁盘SCSI磁盘 /0/1/0.0.2 / dev / sdm磁盘SCSI磁盘 /0/1/0.0.3 / dev / sdn磁盘SCSI磁盘 / 0/2 scsi66存储 /0/2/0.0.0 / dev / sdo磁盘SCSI磁盘 / 0/3 scsi67存储 /0/3/0.0.0 / dev / sdp磁盘4057MB SCSI磁盘
/ 0/1设备实际上是一个USB读卡器(其中一个插槽中插入了2GB SD卡),而/ 0/2设备是我的Android手机,仅用于充电。0/3设备是4GB USB闪存驱动器。
lshw
可以产生纯文本,html,xml和json输出。它还可以将硬件详细信息转储为sqlite数据库格式。
它是为debian和大多数其他发行版打包的。主页和资源位于http://ezix.org/project/wiki/HardwareLiSter
如果按你的回应derobert,你要找的东西,列出磁带驱动器和打印机,您可能感兴趣的lsdev
,lsusb
和lspci
。
fdisk -l
您可以尝试以下命令:
file /dev/disk/by-id/* | awk -F'/' 'NR>1{print "\047/dev/"$NF}' | sort | uniq
hwinfo --block --short
给出了一个概述:
disk:
/dev/sdb WDC WD3200AAKS-7
/dev/sda SAMSUNG HD103UJ
partition:
/dev/sdb1 Partition
/dev/sdb2 Partition
/dev/sda1 Partition
cdrom:
/dev/sr1 TSSTcorp DVD+-RW TS-H653B
/dev/sr0 HL-DT-ST DVD-ROM GDRH20N
hwinfo --disk
提供每个磁盘的更多详细信息。
仅供参考:在某些Linux发行版(例如Ubuntu 14.04和更高版本)上,hwinfo不在官方存储库中。
如果您要使用RAID设备,那么您将无法使用hdparm smartctl等获得正确的结果,因为如果您想在硬件级别上了解这些工具,则它们查找/ dev,即OS级别,那么您需要使用megacli之类的工具我以前用megacli调试
[root@ns3539186 ~]# /opt/megaraid/megacli -LDPDInfo -aAll |grep "Virtual Disks\|RAID Level\|State"
Number of Virtual Disks: 2
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
State : Optimal
Foreign State: None
Media Type: Solid State Device
Foreign State: None
Media Type: Solid State Device
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
State : Optimal
Foreign State: None
Foreign State: None
获取磁盘的序列号
[root@ns3539186 ~]# /opt/megaraid/megacli -PDList -aAll | egrep 'Slot\ Number|Device\ Id|Inquiry\ Data|Raw|Firmware\ state' | sed 's/Slot/\nSlot/g' |grep "Da ta\|Slot\|Raw"
Slot Number: 0
Raw Size: 447.130 GB [0x37e436b0 Sectors]
Inquiry Data: PHYS733402Z0480BGN INTEL SSDSC2KB480G7 SCV10100
Slot Number: 1
Raw Size: 447.130 GB [0x37e436b0 Sectors]
Inquiry Data: PHYS733402YV480BGN INTEL SSDSC2KB480G7 SCV10100
Slot Number: 2
Raw Size: 3.638 TB [0x1d1c0beb0 Sectors]
Inquiry Data: K3GJTYMB HGST HUS726040ALA610 A5GNT920
Slot Number: 3
Raw Size: 3.638 TB [0x1d1c0beb0 Sectors]
Inquiry Data: K3GHW57B HGST HUS726040ALA610 A5GNT920
在上面的输出中,查询数据包含序列号
这是我用来查找本地和共享存储的两个命令。
用于本地存储
lsblk | grep -v '^loop'
对于共享存储
findmnt -D | grep -v '^tmpfs' | grep -v '^/'
OR
df -kh | grep -v '^tmpfs' | grep -v '^/'
loop
和tmpfs
分区。因此,最好如上所述使用grep清理输出。