您可能出于多种原因需要查找有关计算机硬件的详细信息。 例如,如果您需要帮助修复某些问题并在在线论坛上发帖求助,人们会立即向您询问有关您计算机的具体信息。 或者,如果您想升级计算机,则需要了解您拥有什么以及可以拥有什么。 您需要查询您的计算机以了解其规格。
最简单的方法是使用标准的 Linux GUI 程序之一
- i-nex 收集硬件信息,并以类似于 Windows 下流行的 CPU-Z 的方式显示出来。
- HardInfo 显示硬件详细信息,甚至包括一组八个流行的基准测试程序,您可以运行这些程序来衡量系统的性能。
- KInfoCenter 和 Lshw 也显示硬件详细信息,并且在许多软件仓库中都可用。
或者,您可以打开机箱并读取磁盘、内存和其他设备上的标签。 或者您可以进入启动时面板——所谓的 UEFI 或 BIOS 面板。 只需在启动过程中按下 正确的程序功能键 即可访问它们。 这两种方法为您提供硬件详细信息,但省略了软件信息。
或者,您可以发出 Linux 命令行。 等等……这听起来很困难。 你为什么要这样做呢?
有时,通过有针对性的命令行很容易找到特定的信息。 也许您没有可用的 GUI 程序,或者不想安装一个。
使用命令行的主要原因可能是编写脚本。 无论您使用 Linux shell 还是另一种编程语言,脚本编写通常都需要编写命令行。
许多用于检测硬件的命令行必须以 root 权限发出。 因此,切换到 root 用户 ID,或者在您的常规用户 ID 下发出命令,并在前面加上 sudo
sudo <the_line_command>
并响应 root 密码的提示。
本文介绍了许多最有用的系统发现命令行。 末尾的快速参考图表总结了它们。
硬件概览
有几个命令行可以为您提供计算机硬件的全面概览。
inxi 命令列出有关您的系统、CPU、图形、音频、网络、驱动器、分区、传感器等的详细信息。 当论坛参与者试图帮助他人解决问题时,他们经常要求提供其输出。 它是解决问题的标准诊断工具
inxi -Fxz
-F 标志表示您将获得完整输出,x 添加详细信息,z 屏蔽个人身份信息,如 MAC 和 IP 地址。
hwinfo 和 lshw 命令以不同的格式显示许多相同的信息
hwinfo --short
或
lshw -short
这两个命令的长格式会输出详尽但难以阅读的输出
hwinfo
或
lshw
CPU 详细信息
您可以通过命令行了解有关 CPU 的所有信息。 通过发出 lscpu 命令或其近亲 lshw 命令来查看 CPU 详细信息
lscpu
或
lshw -C cpu
在这两种情况下,输出的最后几行都列出了 CPU 的所有功能。 在这里,您可以了解您的处理器是否支持特定功能。
对于所有这些命令,您可以通过使用 grep 命令解析命令输出,从而减少冗长的内容并将任何答案缩小到单个细节。 例如,要仅查看 CPU 的制造商和型号
lshw -C cpu | grep -i product
要仅查看 CPU 的速度(以兆赫兹为单位)
lscpu | grep -i mhz
或其 BogoMips 功率等级
lscpu | grep -i bogo
grep 命令上的 -i 标志只是确保您的搜索忽略它搜索的输出是大写还是小写。
内存
Linux 命令行使您能够收集有关计算机内存的所有可能详细信息。 您甚至可以确定是否可以在不打开机箱的情况下向计算机添加额外的内存。
要列出每个内存条及其容量,请发出 dmidecode 命令
dmidecode -t memory | grep -i size
有关系统内存的更多详细信息,包括每个 RAM 条的类型、大小、速度和电压,请尝试
lshw -short -C memory
您肯定想知道的一件事是可以在计算机上安装的最大内存
dmidecode -t memory | grep -i max
现在找出是否有任何空闲插槽可以插入额外的内存条。 您无需打开计算机即可通过发出此命令来完成此操作
lshw -short -C memory | grep -i empty
空响应表示所有内存插槽都已在使用中。
确定您拥有的显存量需要一对命令。 首先,使用 lspci 命令列出所有设备,并将显示的输出限制为您感兴趣的视频设备
lspci | grep -i vga
标识视频控制器的输出行通常如下所示
00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)
现在重新发出 lspci 命令,将视频设备编号作为选定的设备引用
lspci -v -s 00:02.0
标识为可预取的的输出行是系统上的显存量
...
Memory at f0100000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 1230 [size=8]
Memory at e0000000 (32-bit, prefetchable) [size=256M]
Memory at f0000000 (32-bit, non-prefetchable) [size=1M]
...
最后,要以兆字节为单位显示当前内存使用情况,请发出
free -m
这告诉您有多少内存是空闲的,有多少内存正在使用,交换区域的大小,以及是否正在使用它。 例如,输出可能如下所示
total used free shared buff/cache available
Mem: 11891 1326 8877 212 1687 10077
Swap: 1999 0 1999
top 命令为您提供有关内存使用情况的更多详细信息。 它显示了当前的总体内存和 CPU 使用情况,并按进程 ID、用户 ID 和正在运行的命令对其进行细分。 它显示全屏文本输出
top
磁盘、文件系统和设备
您可以轻松确定您想了解的有关磁盘、分区、文件系统和其他设备的任何信息。
要显示描述每个磁盘设备的单行
lshw -short -C disk
使用以下命令获取有关任何特定 SATA 磁盘的详细信息,例如其型号和序列号、支持的模式、扇区计数等
hdparm -i /dev/sda
当然,如果需要,您应该将 sda 替换为 sdb 或另一个设备助记符。
要列出所有磁盘及其所有已定义的分区,以及每个分区的大小,请发出
lsblk
要获得更多详细信息,包括扇区数、大小、文件系统 ID 和类型,以及分区起始和结束扇区
fdisk -l
要启动 Linux,您需要向 GRUB 引导加载程序标识可挂载的分区。 您可以使用 blkid 命令找到此信息。 它列出了每个分区的唯一标识符 (UUID) 及其文件系统类型(例如,ext3 或 ext4)
blkid
要列出已挂载的文件系统、它们的挂载点以及每个文件系统已用和可用空间(以兆字节为单位)
df -m
最后,您可以使用以下命令列出所有 USB 和 PCI 总线和设备的详细信息
lsusb
或
lspci
网络
Linux 提供了大量的网络命令行。 这里只是一些。
要查看有关您的网卡的硬件详细信息,请发出
lshw -C network
传统上,显示网络接口的命令是 ifconfig
ifconfig -a
但现在很多人使用
ip link show
或
netstat -i
在阅读输出时,了解常见的网络缩写会有所帮助
缩写 | 含义 |
---|---|
lo | 环回接口 |
eth0 或 enp* | 以太网接口 |
wlan0 | 无线接口 |
ppp0 | 点对点协议接口(由拨号调制解调器、PPTP VPN 连接或 USB 调制解调器使用) |
vboxnet0 或 vmnet* | 虚拟机接口 |
此表中的星号是通配符,用作系统之间出现的任何字符序列的占位符。
要显示您的默认网关和路由表,请发出以下任一命令
ip route | column -t
或
netstat -r
软件
让我们以两个显示低级软件详细信息的命令作为结尾。 例如,如果您想知道是否安装了最新的固件怎么办? 此命令显示 UEFI 或 BIOS 日期和版本
dmidecode -t bios
内核版本是什么?它是 64 位的吗?网络主机名是什么? 要找出答案,请发出
uname -a
快速参考图表
此图表总结了本文中涵盖的所有命令
显示有关所有硬件的信息 | inxi -Fxz --或-- hwinfo --short --或-- lshw -short |
显示所有 CPU 信息 | lscpu --或-- lshw -C cpu |
显示 CPU 功能(例如,PAE、SSE2) | lshw -C cpu | grep -i capabilities |
报告 CPU 是 32 位还是 64 位 | lshw -C cpu | grep -i width |
显示当前内存大小和配置 | dmidecode -t memory | grep -i size --或-- lshw -short -C memory |
显示硬件的最大内存 | dmidecode -t memory | grep -i max |
确定内存插槽是否可用 | lshw -short -C memory | grep -i empty (空响应表示没有可用的插槽) |
确定显存量 | lspci | grep -i vga 然后使用设备编号重新发出; 例如: lspci -v -s 00:02.0 显存是可预取的值。 |
显示当前内存使用情况 | free -m --或-- top |
列出磁盘驱动器 | lshw -short -C disk |
显示有关特定磁盘驱动器的详细信息 | hdparm -i /dev/sda (必要时替换 sda) |
列出有关磁盘和分区的信息 | lsblk (简单) --或-- fdisk -l (详细) |
列出分区 ID (UUID) | blkid |
列出已挂载的文件系统、它们的挂载点、 以及每个文件系统已用和可用的兆字节数 |
df -m |
列出 USB 设备 | lsusb |
列出 PCI 设备 | lspci |
显示网卡详细信息 | lshw -C network |
显示网络接口 | ifconfig -a --或-- ip link show --或-- netstat -i |
显示路由表 | ip route | column -t --或--netstat -r |
显示 UEFI/BIOS 信息 | dmidecode -t bios |
显示内核版本、网络主机名等 | uname -a |
您是否有我遗漏的常用命令? 请添加评论并分享。
5 条评论