Show 'Hardware path'-style tree of all devices in Linux

lshw -short
Sample Output
# lshw -short
H/W path              Device     Class      Description
=======================================================
                                 system     ProLiant DL380 G4
/0                               bus        Motherboard
/0/0                             memory     64KiB BIOS
/0/400                           processor  Intel(R) Xeon(TM) CPU 3.80GHz
/0/400/710                       memory     16KiB L1 cache
/0/400/720                       memory     2MiB L2 cache
/0/400/730                       memory     L3 cache
/0/400/7.1                       processor  Logical CPU
/0/400/7.2                       processor  Logical CPU
/0/406                           processor  Intel(R) Xeon(TM) CPU 3.80GHz
/0/406/716                       memory     16KiB L1 cache
/0/406/726                       memory     2MiB L2 cache
/0/406/736                       memory     L3 cache
/0/406/7.1                       processor  Logical CPU
/0/406/7.2                       processor  Logical CPU
/0/1000                          memory     10GiB System Memory
/0/1000/0                        memory     2GiB DIMM DDR Synchronous 400 MHz (2
/0/1000/1                        memory     2GiB DIMM DDR Synchronous 400 MHz (2
/0/1000/2                        memory     2GiB DIMM DDR Synchronous 400 MHz (2
/0/1000/3                        memory     2GiB DIMM DDR Synchronous 400 MHz (2
/0/1000/4                        memory     1GiB DIMM DDR Synchronous 400 MHz (2
/0/1000/5                        memory     1GiB DIMM DDR Synchronous 400 MHz (2
/0/100                           bridge     E7520 Memory Controller Hub
/0/100/2                         bridge     E7525/E7520/E7320 PCI Express Port A
/0/100/2/0                       bridge     6700PXH PCI Express-to-PCI Bridge A
/0/100/2/0/1          eth0       network    NetXtreme BCM5704 Gigabit Ethernet
/0/100/2/0/1.1        eth1       network    NetXtreme BCM5704 Gigabit Ethernet
/0/100/2/0.2                     bridge     6700PXH PCI Express-to-PCI Bridge B
/0/100/2/0.2/3                   storage    Smart Array 64xx
/0/100/6                         bridge     E7520 PCI Express Port C
/0/100/6/0                       bridge     6700PXH PCI Express-to-PCI Bridge A
/0/100/6/0/1                     bridge     PI7C21P100 PCI to PCI Bridge
/0/100/6/0/1/4        eth2       network    82546GB Gigabit Ethernet Controller 
/0/100/6/0/1/4.1      eth3       network    82546GB Gigabit Ethernet Controller 
/0/100/6/0/1/6        eth4       network    82546GB Gigabit Ethernet Controller 
/0/100/6/0/1/6.1      eth5       network    82546GB Gigabit Ethernet Controller 
/0/100/6/0/2          scsi0      bus        ISP2312-based 2Gb Fibre Channel to P
/0/100/6/0/2/0.0.0               generic    SCSI
/0/100/6/0/2/0.1.0               generic    SCSI
/0/100/6/0/2/0.2.0               generic    SCSI
/0/100/6/0/2/0.3.0               generic    SCSI
/0/100/6/0/2/0.4.0               generic    SCSI
/0/100/6/0/2/0.4.1    /dev/sdd   disk       1073MB SCSI Disk
/0/100/6/0/2/0.4.1/1  /dev/sdd1  volume     1023MiB EXT3 volume
/0/100/6/0/2/0.5.0               generic    SCSI
/0/100/6/0/2/0.5.1    /dev/sde   disk       1073MB SCSI Disk
/0/100/6/0/2/0.5.1/1  /dev/sde1  volume     1023MiB EXT3 volume
/0/100/6/0/2/0.8.0               generic    SCSI
/0/100/6/0/2/0.a.0               generic    SCSI
/0/100/6/0/2/0.b.0               generic    SCSI
/0/100/6/0/2/0.c.0               generic    SCSI
/0/100/6/0/2/0.6.0               generic    SCSI
/0/100/6/0/2/0.6.1    /dev/sdi   disk       1073MB SCSI Disk
/0/100/6/0/2/0.6.1/1  /dev/sdi1  volume     1023MiB EXT3 volume
/0/100/6/0.2                     bridge     6700PXH PCI Express-to-PCI Bridge B
/0/100/6/0.2/1        scsi3      bus        ISP2312-based 2Gb Fibre Channel to P
/0/100/6/0.2/1/0.1.0             generic    SCSI
/0/100/6/0.2/1/0.1.1  /dev/sda   disk       2147MB SCSI Disk
/0/100/6/0.2/1/0.2.0             generic    SCSI
/0/100/6/0.2/1/0.2.1  /dev/sdb   disk       2147MB SCSI Disk
/0/100/6/0.2/1/0.3.0             generic    SCSI
/0/100/6/0.2/1/0.3.1  /dev/sdc   disk       2147MB SCSI Disk
/0/100/6/0.2/1/0.4.0             generic    SCSI
/0/100/6/0.2/1/0.4.1  /dev/sdh   disk       2147MB SCSI Disk
/0/100/6/0.2/1/0.5.0             generic    SCSI
/0/100/6/0.2/1/0.6.0             generic    SCSI
/0/100/6/0.2/1/0.8.0             generic    SCSI
/0/100/6/0.2/1/0.9.0             generic    SCSI
/0/100/6/0.2/1/0.a.0             generic    SCSI
/0/100/6/0.2/1/0.b.0             generic    SCSI
/0/100/6/0.2/1/0.7.0             generic    SCSI
/0/100/6/0.2/1/0.c.0             generic    SCSI
/0/100/1d                        bus        82801EB/ER (ICH5/ICH5R) USB UHCI Con
/0/100/1d.1                      bus        82801EB/ER (ICH5/ICH5R) USB UHCI Con
/0/100/1d.2                      bus        82801EB/ER (ICH5/ICH5R) USB UHCI Con
/0/100/1d.3                      bus        82801EB/ER (ICH5/ICH5R) USB UHCI Con
/0/100/1d.7                      bus        82801EB/ER (ICH5/ICH5R) USB2 EHCI Co
/0/100/1e                        bridge     82801 PCI Bridge
/0/100/1e/3                      display    Rage XL
/0/100/1e/4                      system     Integrated Lights Out Controller
/0/100/1e/4.2                    system     Integrated Lights Out  Processor
/0/100/1f                        bridge     82801EB/ER (ICH5/ICH5R) LPC Interfac
/0/100/1f.1                      storage    82801EB/ER (ICH5/ICH5R) IDE Controll

6
By: mhs
2011-06-28 23:32:30

What Others Think

Very nice. Didn't even know of the existence of `lshw` (after 15 yrs tinkering on *NIX) until now...
tsyroid · 385 weeks and 2 days ago
Very nice. Didn't even know of the existence of `lshw` (after 15 yrs tinkering on *NIX) until now...
tsyroid · 385 weeks and 2 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: