Inxi is a very common thing linux users struggle with is to find what hardware has the OS detected and how well. Because unless the OS is aware of the hardware, it might not be using it at all. And there an entire ocean of commands to check hardware information.
There is an entire ocean of commands to check hardware information as well as quite a few gui tools like hardinfo, sysinfo etc on the desktop, but having a generic command line tool is far more useful. Here is the great tool I have discovered just by accident – Inxi.
Inxi is a set of scripts that will detect a whole lot of information about the hardware, including vendor details, device driver configuration etc. And most importantly, it will print everything in easy to read format.
-A Audio/sound card information. -b Basic output, short form. Like inxi -v 2, only minus hard disk names. -c Color schemes. Scheme number is required. Color selectors run a color selector option prior to inxi starting which lets you set the config file value for the selection. Supported color schemes: 0-32 Example: inxi -c 11 Color selectors for each type display (NOTE: irc and global only show safe color set): 94 Console, out of X 95 Terminal, running in X - like xTerm 96 Gui IRC, running in X - like Xchat, Quassel, Konversation etc. 97 Console IRC running in X - like irssi in xTerm 98 Console IRC not in X 99 Global - Overrides/removes all settings. Setting specific removes global. -C CPU output, including per CPU clockspeed (if available). -d Optical drive data. Same as -Dd. See also -x and -xx. -D Full hard Disk info, not only model, ie: /dev/sda ST380817AS 80.0GB. See also -x and -xx. Disk total used percentage includes swap partition size(s). -f All cpu flags, triggers -C. Not shown with -F to avoid spamming. ARM cpus show 'features'. -F Full output for inxi. Includes all Upper Case line letters, plus -s and -n. Does not show extra verbose options like -x -d -f -u -l -o -p -t -r -G Graphic card information (card, display server type/version, resolution, glx renderer, version). -i Wan IP address, and shows local interfaces (requires ifconfig network tool). Same as -Nni. Not shown with -F for user security reasons, you shouldn't paste your local/wan IP. -I Information: processes, uptime, memory, irc client (or shell type), inxi version. -l Partition labels. Default: short partition -P. For full -p output, use: -pl (or -plu). -M Machine data. Motherboard, Bios, and if present, System Builder (Like Lenovo). Older systems/kernels without the required /sys data can use dmidecode instead, run as root. Dmidecode can be forced with -! 33 -n Advanced Network card information. Same as -Nn. Shows interface, speed, mac id, state, etc. -N Network card information. With -x, shows PCI BusID, Port number. -o Unmounted partition information (includes UUID and LABEL if available). Shows file system type if you have file installed, if you are root OR if you have added to /etc/sudoers (sudo v. 1.7 or newer) Example: <username> ALL = NOPASSWD: /usr/bin/file -p Full partition information (-P plus all other detected partitions). -P Basic partition information (shows what -v 4 would show, but without extra data). Shows, if detected: / /boot /home /tmp /usr /var. Use -p to see all mounted partitions. -r Distro repository data. Supported repo types: APT; PACMAN; PISI; YUM; URPMQ; Ports. -R RAID data. Shows RAID devices, states, levels, and components, and extra data with -x/-xx. md-raid: If device is resyncing, shows resync progress line as well. -s Sensors output (if sensors installed/configured): mobo/cpu/gpu temp; detected fan speeds. Gpu temp only for Fglrx/Nvidia drivers. Nvidia shows screen number for > 1 screens. -S System information: host name, kernel, desktop environment (if in X), distro -t Processes. Requires extra options: c (cpu) m (memory) cm (cpu+memory). If followed by numbers 1-20, shows that number of processes for each type (default: 5; if in irc, max: 5): -t cm10 Make sure to have no space between letters and numbers (-t cm10 - right, -t cm 10 - wrong). -u Partition UUIDs. Default: short partition -P. For full -p output, use: -pu (or -plu). -v Script verbosity levels. Verbosity level number is required. Should not be used with -b or -F Supported levels: 0-7 Example: inxi -v 4 0 Short output, same as: inxi 1 Basic verbose, -S + basic CPU + -G + basic Disk + -I. 2 Networking card (-N), Machine (-M) data, shows basic hard disk data (names only), and, if present, basic raid (devices only, and if inactive, notes that). similar to: inxi -b 3 Advanced CPU (-C), network (-n) data, and switches on -x advanced data option. 4 Partition size/filled data (-P) for (if present): /, /home, /var/, /boot. Shows full disk data (-D). 5 Audio card (-A); sensors (-s), partition label (-l) and UUID (-u), short form of optical drives, standard raid data (-R). 6 Full partition (-p), unmounted partition (-o), optical drive (-d), full raid; triggers -xx. 7 Network IP data (-i); triggers -xxx. -w Local weather data/time. To check an alternate location, see: -W <location>. For extra weather data options see -x, -xx, and -xxx. -W <location> Supported options for <location>: postal code; city, state/country; latitude/longitude. Only use if you want the weather somewhere other than the machine running inxi. Use only ascii characters, replace spaces in city/state/country names with '+'. Example: inxi -W new+york,ny -x Adds the following extra data (only works with verbose or line output, not short form): -C CPU Flags, Bogomips on Cpu; -d Extra optical drive data; adds rev version to optical drive. -D Hdd temp with disk data if you have hddtemp installed, if you are root OR if you have added to /etc/sudoers (sudo v. 1.7 or newer) Example: <username> ALL = NOPASSWD: /usr/sbin/hddtemp -G Direct rendering status for Graphics (in X). -G (for single gpu, nvidia driver) screen number gpu is running on. -i IPv6 as well for LAN interface (IF) devices. -I System GCC, default. With -xx, also show other installed GCC versions. If running in console, not in IRC client, shows shell version number, if detected. Init/RC Type and runlevel (if available). -N -A Version/port(s)/driver version (if available) for Network/Audio; -N -A -G Network, audio, graphics, shows PCI Bus ID/Usb ID number of card. -R md-raid: Shows component raid id. Adds second RAID Info line: raid level; report on drives (like 5/5); blocks; chunk size; bitmap (if present). Resync line, shows blocks synced/total blocks. zfs-raid: Shows raid array full size; available size; portion allocated to RAID -S Desktop toolkit if avaliable (GNOME/XFCE/KDE only); Kernel gcc version -t Memory use output to cpu (-xt c), and cpu use to memory (-xt m). -w -W Wind speed and time zone (-w only). -xx Show extra, extra data (only works with verbose or line output, not short form): -A Chip vendor:product ID for each audio device. -D Disk serial number. -G Chip vendor:product ID for each video card. -I Other detected installed gcc versions (if present). System default runlevel. Adds parent program (or tty) for shell info if not in IRC (like Konsole or Gterm). Adds Init/RC (if found) version number. -M Chassis information, bios rom size (dmidecode only), if data for either is available. -N Chip vendor:product ID for each nic. -R md-raid: Superblock (if present); algorythm, U data. Adds system info line (kernel support,read ahead, raid events). If present, adds unused device line. Resync line, shows progress bar. -S Display manager (dm) in desktop output, if in X (like kdm, gdm3, lightdm). -w -W Humidity, barometric pressure. -@ 11-14 Automatically uploads debugger data tar.gz file to ftp.techpatterns.com. EG: inxi [email protected] -xxx Show extra, extra, extra data (only works with verbose or line output, not short form): -S Panel/shell information in desktop output, if in X (like gnome-shell, cinnamon, mate-panel). -w -W Location (uses -z/irc filter), weather observation time, wind chill, heat index, dew point (shows extra lines for data where relevant). -y Required extra option: integer, 80 or greater. Set the output line width max. Overrides IRC/Terminal settings or actual widths. If used with -h, put -y option first. Example: inxi -y 130 -z Security filters for IP/Mac addresses, location, user home directory name. Default on for irc clients. -Z Absolute override for output filters. Useful for debugging networking issues in irc for example. Additional Options: -h --help This help menu. -H This help menu, plus developer options. Do not use dev options in normal operation! --recommends Checks inxi application dependencies + recommends, and directories, then shows what package(s) you need to install to add support for that feature. -V --version inxi version information. Prints information then exits. Debugging Options: -% Overrides defective or corrupted data. -@ Triggers debugger output. Requires debugging level 1-14 (8-10 - logging of data). Less than 8 just triggers inxi debugger output on screen. 1-7 On screen debugger output 8 Basic logging 9 Full file/sys info logging 10 Color logging. The following create a tar.gz file of system data, plus collecting the inxi output to file. To automatically upload debugger data tar.gz file to ftp.techpatterns.com: inxi -xx@ <11-14> Advanced Options: -! 31 Turns off hostname in output. Useful if showing output from servers etc. -! 32 Turns on hostname in output. Overrides global B_SHOW_HOST='false' -! 33 Forces use of dmidecode data instead of /sys where relevant (-M).
cyborg@cyborg:~$ inxi -A Audio: Card Intel NM10/ICH7 Family High Definition Audio Controller driver: snd_hda_intel Sound: Advanced Linux Sound Architecture v: k3.16.0-28-generic