Mike Akers Asked: 2009-05-06 13:41:56 +0800 CST2009-05-06 13:41:56 +0800 CST 2009-05-06 13:41:56 +0800 CST 如何找出 Linux 机器上连接了哪些硬盘? 772 如何找出 Linux 机器上连接了哪些硬盘?我希望有一个命令可以为我提供所有 ATA/SCSI/etc 驱动器的漂亮列表。 我/proc/partitions过去曾这样做过,但我想知道如果驱动器上没有分区,这是否仍然有效。 hard-drive linux partition 10 个回答 Voted Best Answer Brad Gilbert 2009-05-06T15:50:52+08:002009-05-06T15:50:52+08:00 sudo lshw -class disk 给你除了挂载点之外的一切 *-光盘 描述:CD-R/CD-RW 刻录机 产品:52MAXX 3252AJ 供应商: Memorex 物理ID:0 总线信息:scsi@0:0.0.0 逻辑名称:/dev/cdrom 逻辑名称:/dev/cdrw 逻辑名称:/dev/scd0 逻辑名称:/dev/sr0 版本:QWS3 功能:可移动音频 cd-r cd-rw 配置:ansiversion=5 状态=nodisc *-磁盘:0 描述:SCSI磁盘 产品:ZIP 100 供应商: IOMEGA 物理id:0.1.0 总线信息:scsi@0:0.1.0 逻辑名称:/dev/sda 版本:12.A 功能:可移动 配置:ansiversion=5 *-中等的 物理ID:0 逻辑名称:/dev/sda *-磁盘:1 描述:ATA磁盘 产品:WDC WD800AB-00CB 厂商:西部数据 身份证号码:1 总线信息:scsi@1:0.0.0 逻辑名称:/dev/sdb 版本:04.0 序列号:WD-WCAA52477019 大小:74GiB(80GB) 功能:分区分区:dos 配置:ansiversion=5 签名=90909090 sudo lshw -class disk -html Adam Gibbins 2009-05-06T13:49:39+08:002009-05-06T13:49:39+08:00 fdisk -l Uldis 2014-05-24T04:36:00+08:002014-05-24T04:36:00+08:00 当我运行时: # lsblk 它返回带有挂载点的树磁盘分区(对于那些具有的分区): NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 278.9G 0 disk +-sda1 8:1 0 500M 0 part /boot +-sda2 8:2 0 278.4G 0 part +-vg_devlinux02-lv_root (dm-0) 252:0 0 50G 0 lvm / +-vg_devlinux02-lv_swap (dm-1) 252:1 0 32G 0 lvm [SWAP] sdb 8:16 0 14.6T 0 disk +-sdb1 8:17 0 14.6T 0 part +-vg_devlinux02-lv_home (dm-2) 252:2 0 12.8T 0 lvm /home sr0 11:0 1 1024M 0 rom sdc 8:32 0 2.7T 0 disk +-sdc1 8:33 0 128M 0 part +-sdc2 8:34 0 2.7T 0 part sdd 8:48 0 2.7T 0 disk +-sdd1 8:49 0 2.7T 0 part sde 8:64 0 2.7T 0 disk +-sde1 8:65 0 2.7T 0 part sdf 8:80 0 2.7T 0 disk +-sdf1 8:81 0 128M 0 part +-sdf2 8:82 0 2.7T 0 part vartec 2009-05-07T00:41:13+08:002009-05-07T00:41:13+08:00 lshw 的替代方案: hwinfo --disk 如果您只对 /dev 和型号名称而不是所有细节感兴趣,也有“--short”选项。 hal9k:~ # hwinfo --disk --short disk: /dev/sda Hitachi HDT72502 /dev/sdb Generic USB SD Reader /dev/sdc Generic USB CF Reader /dev/sdd Generic USB SM Reader /dev/sde Generic USB MS Reader 长版为您提供更多详细信息,然后是 lshw: hal9k:~ # hwinfo --disk 16: IDE 200.0: 10600 Disk [Created at block.243] UDI: /org/freedesktop/Hal/devices/storage_serial_SATA_Hitachi_HDT7250_VFL104R62EUUTX Unique ID: 3OOL.JSHCimqnHw6 Parent ID: CvwD.epf1vnVqQVC SysFS ID: /class/block/sda SysFS BusID: 2:0:0:0 SysFS Device Link: /devices/pci0000:00/0000:00:05.0/host2/target2:0:0/2:0:0:0 Hardware Class: disk Model: "Hitachi HDT72502" Vendor: "Hitachi" Device: "HDT72502" Revision: "V5DO" Serial ID: "VFL104R62EUUTX" Driver: "sata_sis", "sd" Driver Modules: "sata_sis" Device File: /dev/sda Device Files: /dev/sda, /dev/disk/by-id/scsi-SATA_Hitachi_HDT7250_VFL104R62EUUTX, /dev/disk/by-id/ata-Hitachi_HDT725025VLA380_VFL104R62EUUTX, /dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0, /dev/disk/by-id/edd-int13_dev80 Device Number: block 8:0-8:15 BIOS id: 0x80 Geometry (Logical): CHS 30401/255/63 Size: 488397168 sectors a 512 bytes Geometry (BIOS EDD): CHS 484521/16/63 Size (BIOS EDD): 488397168 sectors Geometry (BIOS Legacy): CHS 1023/255/63 Config Status: cfg=no, avail=yes, need=no, active=unknown Attached to: #9 (IDE interface) [...] 编辑: 至于包的可用性。我正在使用 OpenSUSE 11.1。hwinfo位于标准存储库中,而lshw仅可从非官方存储库中获得。 pjz 2009-05-06T13:48:10+08:002009-05-06T13:48:10+08:00 /proc/diskstats 将在您现有的所有驱动器上具有统计信息,无论它们是否具有分区。 Zoredache 2009-05-06T14:17:49+08:002009-05-06T14:17:49+08:00 我喜欢: lshw -class disk 其中列出了系统中的所有磁盘和存储控制器。 Qorbani 2014-01-12T20:59:52+08:002014-01-12T20:59:52+08:00 cat /proc/partitions即使没有为磁盘定义分区,也可以正常工作。 我最喜欢的是lsblk它显示了关于磁盘和分区以及它们安装位置的非常详细的信息。也file -s /dev/sda可以给你简单的信息。 user189336 2013-09-11T04:41:16+08:002013-09-11T04:41:16+08:00 # fdisk -l | grep Disk 用于显示服务器上的硬盘列表 Fiver 2018-02-11T06:16:20+08:002018-02-11T06:16:20+08:00 不确定它是否在某个时候发生了变化,但使用sudo lshw -class disk对我不起作用。在我的系统 Ubuntu 17.10 上,我需要使用storage该类: sudo lshw -class storage Matthias Braun 2022-09-01T04:18:53+08:002022-09-01T04:18:53+08:00 或者,您可以使用duf它方便地按设备类型对设备进行分组,并默认显示磁盘使用情况。 示例输出: ╭────────────────────────────────────────────────────────────────────╮ │ 2 local devices │ ├────────────┬────────┬────────┬────────┬────────┬──────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├────────────┼────────┼────────┼────────┼────────┼──────┼────────────┤ │ / │ 808.0G │ 443.1G │ 323.8G │ 54.8% │ ext4 │ /dev/sda3 │ │ /sda1 │ 108.0G │ 59.5G │ 43.9G │ 55.1% │ ext4 │ /dev/sda1 │ ╰────────────┴────────┴────────┴────────┴────────┴──────┴────────────╯ ╭─────────────────────────────────────────────────────────────────────╮ │ 5 special devices │ ├──────────────┬──────┬────────┬───────┬────────┬────────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├──────────────┼──────┼────────┼───────┼────────┼────────┼────────────┤ │ /dev │ 7.7G │ 0B │ 7.7G │ │ devtmp │ dev │ │ │ │ │ │ │ fs │ │ │ /dev/shm │ 7.8G │ 5.1M │ 7.8G │ 0.1% │ tmpfs │ tmpfs │ │ /run │ 7.8G │ 1.3M │ 7.8G │ 0.0% │ tmpfs │ run │ │ /run/user/10 │ 1.6G │ 28.0K │ 1.6G │ 0.0% │ tmpfs │ tmpfs │ │ 00 │ │ │ │ │ │ │ │ /tmp │ 7.8G │ 192.0K │ 7.8G │ 0.0% │ tmpfs │ tmpfs │ ╰──────────────┴──────┴────────┴───────┴────────┴────────┴────────────╯
sudo lshw -class disk
给你除了挂载点之外的一切
sudo lshw -class disk -html
fdisk -l
当我运行时:
它返回带有挂载点的树磁盘分区(对于那些具有的分区):
lshw 的替代方案:
如果您只对 /dev 和型号名称而不是所有细节感兴趣,也有“--short”选项。
长版为您提供更多详细信息,然后是 lshw:
编辑:
至于包的可用性。我正在使用 OpenSUSE 11.1。hwinfo位于标准存储库中,而lshw仅可从非官方存储库中获得。
/proc/diskstats 将在您现有的所有驱动器上具有统计信息,无论它们是否具有分区。
我喜欢:
其中列出了系统中的所有磁盘和存储控制器。
cat /proc/partitions
即使没有为磁盘定义分区,也可以正常工作。我最喜欢的是
lsblk
它显示了关于磁盘和分区以及它们安装位置的非常详细的信息。也file -s /dev/sda
可以给你简单的信息。用于显示服务器上的硬盘列表
不确定它是否在某个时候发生了变化,但使用
sudo lshw -class disk
对我不起作用。在我的系统 Ubuntu 17.10 上,我需要使用storage
该类:sudo lshw -class storage
或者,您可以使用
duf
它方便地按设备类型对设备进行分组,并默认显示磁盘使用情况。示例输出: