How to use the command 'lshw' (with examples)
- Linux
- December 25, 2023
The ’lshw’ command is a utility tool in Linux that allows users to list detailed information about hardware configurations. By running this command with different arguments, users can obtain specific information about their hardware, such as disk drives, network interfaces, and more.
Use case 1: Launch the GUI
Code:
sudo lshw -X
Motivation: Launching the GUI using the ’lshw’ command can provide a more user-friendly way to navigate and explore hardware configurations. It presents the information in a graphical format, making it easier to understand and analyze.
Explanation:
sudo
: Runs the command with root privileges, allowing access to detailed information about hardware configurations.lshw
: Executes the ’lshw’ command, which lists hardware information.-X
: Specifies the argument to launch the GUI interface for ’lshw'.
Example output: The command will launch a graphical interface displaying detailed hardware information, such as motherboard, processor, memory, and more.
Use case 2: List all hardware in tabular format
Code:
sudo lshw -short
Motivation: Listing all hardware in tabular format can provide a concise overview of various hardware components. It enables users to quickly identify key hardware information, such as model names, capacities, and drivers.
Explanation:
sudo
: Runs the command with root privileges to access detailed hardware information.lshw
: Executes the ’lshw’ command to list hardware information.-short
: Specifies the argument to display hardware information in a concise, tabular format.
Example output: The command will output a table with columns like CLASS, DESC, PRODUCT, VENDOR, and VERSION. Each row represents a hardware component, such as a processor, network interface, or storage device, along with their respective details.
Use case 3: List all disks and storage controllers in tabular format
Code:
sudo lshw -class disk -class storage -short
Motivation: When focusing solely on disk drives and storage controllers, listing this information in tabular format allows users to quickly identify the specific hardware related to storage. It can be beneficial when troubleshooting storage-related issues or verifying configurations.
Explanation:
sudo
: Runs the command with root privileges to access detailed hardware information.lshw
: Executes the ’lshw’ command to list hardware information.-class disk
: Specifies the argument to filter the output for disk drives.-class storage
: Specifies the argument to filter the output for storage controllers.-short
: Specifies the argument to display hardware information in a concise, tabular format.
Example output: The command will output a table with columns like CLASS, DESC, PRODUCT, VENDOR, and VERSION. Each row will represent a disk drive or storage controller, along with its respective details.
Use case 4: Save all network interfaces to an HTML file
Code:
sudo lshw -class network -html > interfaces.html
Motivation: Saving the network interfaces information to an HTML file can be useful for documentation purposes, sharing information with others, or accessing the data offline. The HTML format allows for easy viewing and formatting options.
Explanation:
sudo
: Runs the command with root privileges to access detailed hardware information.lshw
: Executes the ’lshw’ command to list hardware information.-class network
: Specifies the argument to filter the output for network interfaces.-html
: Specifies the argument to output the information in HTML format.>
: Redirects the output to a file.interfaces.html
: Defines the filename to save the HTML output as.
Example output: The command will generate an HTML file named ‘interfaces.html’, containing all the network interfaces information. The file can be opened in a web browser or any HTML viewer to visualize the information in a structured manner.
Conclusion:
The ’lshw’ command is a versatile tool for obtaining detailed hardware information in Linux. By exploring its various use cases, users can gain insights into their system’s hardware configurations, troubleshoot issues, and document their setups effectively. Whether it’s launching a GUI, generating tabular output, or saving information in HTML format, the ’lshw’ command provides flexibility and utility in managing hardware-related tasks.