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

These Might Interest You

  • NOT MINE! Taken from hackzine.com blog. It creates a tree-style output of all the (sub)folders and (sub)files from the current folder and down(deeper) Quoting some of hackzine's words "Murphy Mac sent us a link to a handy find/sed command that simulates the DOS tree command that you might be missing on your Mac or Linux box. [..split...] Like most things I've seen sed do, it does quite a bit in a single line of code and is completely impossible to read. Sure it's just a couple of substitutions, but like a jack in the box, it remains a surprise every time I run it." Show Sample Output


    -1
    find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
    JesusSuperstar · 2009-03-12 22:25:26 4
  • Shows how many Windows and Linux devices are on your network. May add support for others, but that's all that are on my network right now. Show Sample Output


    3
    sudo nmap -F -O 192.168.1.1-255 | grep "Running: " > /tmp/os; echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) devices"
    matthewbauer · 2010-01-10 03:09:56 2
  • Shows all block devices in a tree with descruptions of what they are.


    3
    sudo lsblk -o name,type,fstype,label,partlabel,model,mountpoint,size
    bugmenot · 2018-04-25 00:16:39 0
  • I got really tired of having tree always show me tons of .svn and .git stuff that I don't care about. With this alias, "tree" uses pretty colors, snazzy line graphics, and ignores any source control and package mumbojumbo. (Customize the *.*.package glob, of course.) Show Sample Output


    7
    alias tree="tree -CAFa -I 'CVS|*.*.package|.svn|.git' --dirsfirst"
    isaacs · 2009-03-27 05:13:39 0

What Others Think

Very nice. Didn't even know of the existence of `lshw` (after 15 yrs tinkering on *NIX) until now...
tsyroid · 364 weeks and 4 days ago
Very nice. Didn't even know of the existence of `lshw` (after 15 yrs tinkering on *NIX) until now...
tsyroid · 364 weeks and 4 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: