Page 1 of 1

Linux System Specifications from the Command Line

Linux System Specifications from the Command Line
   4

In the past few weeks, I’ve ran into the need to find out what the hardware or system specifications are of one or the other Linux machine.

I use it every now and then, either on my QNAP, HTPC, Ubuntu machine or even my DD-WRT router.
Earlier this week I even needed it to checkout my old web-server specs versus the new web-server.

Well, with Operating Systems like Mac OS X and Windows, it’s relatively easy to find the specification with the help of system build-in tools that come with a proper user interface. Under Linux this can be more challenging though, especially when there is no graphical user interface – ie. you only have shell access.

In this article I’ll try to go through a few relatively standard commands to checkout your system specs like memory, CPU, video card, disks, etc.




Linux System Information

In this article I presume you are going to be doing all this from a Shell. This can either through the shell that you machine boots into, or which you access through SSH, but this can of course also be a Shell or Terminal window that you open in your graphical user interface (Window Manager).

Keep in mind though: there a loads of variations of Linux distributions and installations. Some of the commands here might or might not work on your system. Therefor I’ll try to mention a few alternatives for each command.

Summary … a.k.a. “The Short Version” 

Note: not all command might exist on your Linux system.

32- or 64-bit Operating System ?

uname -a     64 bit OS if there is no reference to “i386”, “i486”, “i586” or “i686”.

getconf LONG_BIT     64 bit OS if it replies with “64”.

file /bin/bash     64 bit OS if it has “ELF 64-bit LSB executable” in it’s response.

cat /proc/version    64 bit OS if there is a reference to “x86_64”, “amd64”, “ai64”, “ppc64” or “sparc64′.

What kind of Processor ?

lscpu     Short, but limited info on CPU model.

cat /proc/cpuinfo     Little bit lengthy but more detail.

What kind of Memory is installed ?

free     Short and quick overview of installed memory and memory use.

cat /proc/meminfo     More extensive overview of installed and used memory.

What kind of Harddisks are installed ?

fdisk -l     Shows a list of harddisks (physical and virtual).

cat /proc/scsi/scsi     Shows a list of attached ATA and SCSI devices.

cat /proc/partitions     Show the partitions on all disks.

In the directory /sys/block/xyz  you can find tons of details of a given device (xyz), for example for the drive sda cat /sys/block/sda/device/model will print the drive model.

df     Shows available and used disk space on mounted disks.

List other Devices

lspci      Shows all PCI devices.

lsusb     Show all USB devices.

 

Optional tools:  hwinfo  or  lshw  or  inxi 

An optional tool that can be installed on your Linux box is hwinfo .
However, on most systems this is not installed.

You can install it with this way (dependign on your system):

sudo apt-get install hwinfo

An alternative is lshw (run as sudo) which gives very good information as well.
Again, your system might not have this installed, and a way to install it (depending on your system) can be:

sudo apt-get install lshw

The “best” way to call “lshw” is:
sudo lshw -short

Yet another (very nice) alterantive is “inxi”, which gives a concise overview. You can get it at GitHub, or install it with:

sudo apt-get install inxi

Note:
Not every system has “apt-get” and not every system has the needed repositories.
Under Ubuntu variants I have found “lshw” and “inxi” to be present in the default repositories. “hwinfo” on the other hand, even though it’s a great tool, was nowhere to be found.

Tip: DMIDECODE for systems that support this  … 

A tip from one of our users, Emielle;

Certain systems support the “dmidecode” statement which pulls DMI data from the BIOS.
The amount of data (unfiltered) is ginormous, so a few examples on how to limit the output:

Processor info:

sudo dmidecode -t 4

Memory info:

sudo dmidecode -t 6

It is recommended to go through the man pages for more details and filters.

man dmidecode

 


 

 

Is my Linux Operating System 64 bit or 32 bit ?

This is not the same question as “is my processor 64 bit or 32 bit”.
Most 32 bit operating systems work just fine on a 64 bit processor.

So a 64 bit processor is not a guarantee that your Operating System is 64 bit as well!

UNAME

The most common or most mentioned method to see if your Operating System (or kernel) is 32 bit or 64 bit:


uname -m

The result for a 64 bit Operating System could  look like one of these:

x86_64,  amd64,  ppc64,  sparc64,  ia64

and for a 32 bit Operating System you might get one of these answers:

i686,  i386,  ppc,  sparc,  i686-AT386

You noticed the “could” and “might“?

Well that’s because not every Linux/BSD/Unix/etc system returns a value in a consistent manner.
It get’s even worse … anyone read the man page of uname or the BSD man page?
Interesting to see that the man page refers to the “-m” option as the “print the machine hardware name” option.
So … Hardware? Not software? Are we dealing with an ambiguous man page or are we simply looking at the wrong information?

I’m assuming the latter, after spending quite a bit of time searching for an answer … I’ve decided to use this approach:


uname -a

If there is no reference to “i386“, “i486“, “i586” or “i686“, then I carefully assume we are running a 64 bit Operating System.

Some examples of the output of different machines when using “uname -a” – in this list below from a QNAP TS869, a MacBook Pro, a CentOS 6 web-server, a FreyaOS 32 bit machine and a FreyaOS 64 bit machine (FreyaOS or Elementary OS is derived in someway from Ubuntu).


1
2
3
4
5
6
7
8
9
Linux MyQNAP 3.4.6 #1 SMP Fri Sep 25 09:36:55 CST 2015 x86_64 unknown

Darwin MBP15RETINA 15.0.0 Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64 x86_64

Linux host.someserver.net 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Linux FreyaOS 3.16.0-48-generic #64~14.04.1-Ubuntu SMP Thu Aug 20 23:03:49 UTC 2015 i686 i686 i686 GNU/Linux

Linux FreyaOS 3.16.0-48-generic #64~14.04.1-Ubuntu SMP Thu Aug 20 23:03:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Only the 4th row in these examples is 32 bit.

GETCONF

For the systems that support the “getconf”, for example Ubuntu based Linux versions, try this


getconf LONG_BIT

The answer will be 32 (for 32bit OS) or 64 (for a 64bit Operating System).
I’m not sure how reliable this is though.

FILE

An alternative, which is not 100% fool proof either, we could check if an executable/binary on the system is actually 32- or 64 bit.
If you find any application on you system, that actually works, and shows that it’s 64 bit: then your Operating System is 64 bit!
Otherwise … well you could have either 32 or 64 bit, who knows.


file /bin/bash

This assumes your system knows the “file” command and has bash available and compiled matching the architecture of your Operating System. These days a lot of platforms  actually support multiple architectures. For example quite a lot of 64 bit Linux Operating Systems can run 32 bit binaries.

Anyhow, the respons for a 32 bit binary – notice the “ELF 32-bit LSB executable“:


/bin/bash: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=4ead65aeca4e9f1eabf3a0d63eb1f96c225b25fd, stripped

Or for a 64 bit binary – notice the “ELF 64-bit LSB executable” – if you find one of these, your Operating System will be 64 bit for sure:


/bin/bash: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=54967822da027467f21e65a1eac7576dec7dd821, stripped

CAT /PROC/VERSION

Not all systems have this, but you could give it a try. If there is a reference to “x86_64” then you’re dealing with a 64 bit Operating System. It might be that on your system other 64 bit indicators show up like amd64,  ppc64,  sparc64, or ia64.


1
2
3
cat /proc/version

Linux version 2.6.32-573.7.1.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Tue Sep 22 22:00:00 UTC 2015

 


 

 

What type of Processor is installed in my computer ?

So what kind of “engine” do we have running in our Linux computer … always nice to know right?

LSCPU

The easiest statement seems to be “lscpu“, but not every system has this command available (QNAP for example).

The example below shows us a 64 bit, Genuine Intel Quad core processor running (at the moment) at 3.6Ghz.
Because the Intel CPU supports Hyper-threading, this will be seen as 8 “CPU’s”.

Now if you really want to know the exact type and model of your CPU, then Family, Model and Stepping will get you a long way, but … not close enough … Not to mention the ginormous lists of these numbers and codes which really just point roughly into a certain direction.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
lscpu

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Stepping:              3
CPU MHz:               3599.721
BogoMIPS:              7199.44
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-7

CAT /PROC/CPUINFO

This is probably the classic and most used method to find out what kind of processor your computer uses.
It can spit out quite a lot of info, and it’s more specific than “lscpu”.

An example below, of the same machine on which I showed the use of “lscpu”.

Please keep in mind that only 2 “processors” have been listed below (processor 0 and 7).
The other 6 “processors” I just removed from the output to keep things a little readable.

You will see in the example below that we are dealing with an Intel Xeon E3-1271 running at 3.60GHz, which happens to be a quad core (“cpu cores : 4”).
The 8 processors is based on 4 cores combined with Intel’s Hyper-Threading (x2).


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
cat /proc/cpuinfo

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 60
model name  : Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz
stepping    : 3
microcode   : 29
cpu MHz     : 3599.721
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 7199.44
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

... // lines deleted

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model       : 60
model name  : Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz
stepping    : 3
microcode   : 29
cpu MHz     : 3599.721
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 3
cpu cores   : 4
apicid      : 7
initial apicid  : 7
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 7199.44
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

What kind and how much Memory is installed ?

FREE

To find how much memory our machine has and how much is being used, one can use:


1
2
3
4
5
6
free

             total       used       free     shared    buffers     cached
Mem:      16290908   13838044    2452864        296     259100   11522316
-/+ buffers/cache:    2056628   14234280
Swap:     16433144      77076   16356068

In this example we see 16 Gb RAM installed (Mem-total).
On some systems you can have express the sizes in Bytes (-b), KiloBytes (-k), MegaBytes (-m) or GigaBytes (-g). The rounding might result in a number “near” what you’d like to see – depending on your expectations. As you can see below: the 16Gb RAM (divided by 1,000) is now displayed as 15GB (divided by 1,024).


1
2
3
4
5
6
free -g

             total       used       free     shared    buffers     cached
Mem:            15         13          2          0          0         10
-/+ buffers/cache:          2         13
Swap:           15          0         15

CAT /PROC/MEMINFO

But if your really want to see the fine details, use the following.
“MemTotal” reflects how much RAM is installed.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
cat /proc/meminfo

MemTotal:       16290908 kB
MemFree:         2392160 kB
Buffers:          259180 kB
Cached:         11537132 kB
SwapCached:         6324 kB
Active:          7088388 kB
Inactive:        6118172 kB
Active(anon):     486348 kB
Inactive(anon):   924200 kB
Active(file):    6602040 kB
Inactive(file):  5193972 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:      16433144 kB
SwapFree:       16356068 kB
Dirty:               184 kB
Writeback:             0 kB
AnonPages:       1404964 kB
Mapped:            35444 kB
Shmem:               296 kB
Slab:             521224 kB
SReclaimable:     473996 kB
SUnreclaim:        47228 kB
KernelStack:        5792 kB
PageTables:        24376 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    24578596 kB
Committed_AS:    2937540 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      112576 kB
VmallocChunk:   34359610684 kB
HardwareCorrupted:     0 kB
AnonHugePages:    980992 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        4096 kB
DirectMap2M:     2084864 kB
DirectMap1G:    14680064 kB

 


 

 

What kind and size of Harddisks are installed ?

FDISK

The easiest way to see what kind of harddisks (SSD’s included) are installed is by using the “fdisk -l ” statement.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
fdisk -l

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a2d3e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      121602   976760832   83  Linux

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00097e31

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          64      512000   fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2              64        1087     8216576   82  Linux swap / Solaris
/dev/sdb3            1087       30402   235468800   fd  Linux raid autodetect

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00096067

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1087     8216576   82  Linux swap / Solaris
/dev/sda3            1087       30402   235468800   fd  Linux raid autodetect

Disk /dev/md1: 241.0 GB, 240985833472 bytes
2 heads, 4 sectors/track, 58834432 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000


Disk /dev/md0: 524 MB, 524222464 bytes
2 heads, 4 sectors/track, 127984 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

CAT /PROC/SCSI/SCSI

With this statement you can list all drives (SCSI and ATA):


1
2
3
4
5
6
7
8
9
10
11
12
cat /proc/scsi/scsi

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: Crucial_CT250MX2 Rev: MU01
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: Crucial_CT250MX2 Rev: MU01
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST1000NM0033-9ZM Rev: SN04
  Type:   Direct-Access                    ANSI  SCSI revision: 05

 

CAT /PROC/PARTITIONS

You can see the defined partition over all disks with “cat /proc/partitions“.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat /proc/partitions

major minor  #blocks  name

   8       32  976762584 sdc
   8       33  976760832 sdc1
   8       16  244198584 sdb
   8       17     512000 sdb1
   8       18    8216576 sdb2
   8       19  235468800 sdb3
   8        0  244198584 sda
   8        1     512000 sda1
   8        2    8216576 sda2
   8        3  235468800 sda3
   9        1  235337728 md1
   9        0     511936 md0

 

/SYS/BLOCK files

In the directory “/sys/block/” you will find for each device a ton of information. For each device a directory exists with a several sub directories and files with information related to the device.

Some examples:


1
2
3
cat /sys/block/sda/device/model

Crucial_CT250MX2

1
2
3
4
5
6
7
cat /sys/block/sda/device/model

WD30EZRS-00J99B0

cat /sys/block/sda/device/vendor

WDC

Note that not all systems, have data in all files that make sense. I did find that for example “vendor” is not always filled with anything useful. “model” however appears pretty consistent.

DF, or how much space is used?

With df you can pull up the amount a used and free disk space for mounted volumes:


1
2
3
4
5
6
7
df

Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/md1       231513120 23174888 196571348  11% /
tmpfs            8145452        0   8145452   0% /dev/shm
/dev/sdc1      961301832 33647240 878816552   4% /backup
/dev/md0          487588    64486    397506  14% /boot

 


 

 

PCI devices (Video Card, Ethernet)

To find out what kind of PCI devices have been installed, we can use “lspci”. Not every system has this available though, for example on a QNAP it is not available.

In the example below we can see the “Ethernet Controller” (2) and the “VGA Compatible Controller”.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lspci

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation C222 Series Chipset Family Server Essential SKU LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)
01:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
02:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

To get just the ethernet controllers or video cards for example, you could:


1
2
3
4
lspci | grep Ethernet

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)
03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

1
2
3
lspci | grep VGA

02:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)

 


 

 

USB devices

As with PCI devices, there is the possibility to pull a list of USB devices as well with “lsusb”.
Unlike “lspci” it does exist on all systems I tested (QNAP, FreyeOS/Ubuntu, CentOS 6).


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lsusb

Bus 001 Device 002: ID 1005:b155 Apacer Technology, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 1058:0830 Western Digital Technologies, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 002: ID 1058:0748 Western Digital Technologies, Inc.
Bus 010 Device 003: ID 1058:0748 Western Digital Technologies, Inc.
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

In this example you see the usual USB hubs (USB 1.1, 2.0 and 3.0), and a few harddrives (Western Digital) connected to your computer.

 


 

 

Conclusion

Even though Linux can be awesome, at times it can be headache too … some, or all of these methods might work and might give you the information you need.

I’m sure there are plenty other tricks that I have not mentioned, so please feel free to post your tricks below! 

Donation options


Donations are very much appreciated, but not required. Donations will be used for web-hosting expenses, project hardware or a motivational boost (a drink or snack). Thank you very much for those have donated already! It's truly AwEsOmE to see that folks like our articles and small applications.

Comments


There are 4 comments. You can read them below.
You can post your own comments by using the form below, or reply to existing comments by using the "Reply" button.

  • Oct 29, 2015 - 1:31 PM - John Comment Link

    Great info nicely put together.

    Something you could add:

    dmidecode

    It will give you a lot of BIOS based info, like BIOS version, Board info, CPU, video card, etc.

    Reply

    John

  • May 29, 2017 - 8:09 AM - Manpreet Arora Comment Link

    Gooooooooooooooooooooooooooooooooood

    Reply

    Manpreet Arora



Your Comment …

Friendly request to not post large files here (like source codes, log files or config files). Please use the Forum for that purpose.

Please share:
*
*
Notify me about new comments (email).
       You can also use your RSS reader to track comments.


Tweaking4All uses the free Gravatar service for Avatar display.
Tweaking4All will never share your email address with others.