Linux 命令获取系统信息和高级硬件信息
有时您需要有关硬件的信息,但您可能丢失了说明书,也许你进行了升级,这些信息不再准确。这对家庭用户来说很简单,但如果你在公司环境中有很多台机器,该怎么办呢?下面的命令对硬件调试也很有用。
Uname – Linux 内核信息
uname -a
– 内核版本
uname -m
– 系统架构
lspci – PCI 总线上所有连接设备的列表
lspci -vvv
– 启用冗余模式。
# lspci
00:00.0 Host bridge: Intel Corporation 5500 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:09.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 9 (rev 13)
lshw – 完整的已安装硬件组件一览表
lshw
不需要 sudo
也能工作,但提供的信息要少得多。包括内存配置、固件版本、CPU 信息和核心频率。–当你想把结果上传到互联网时,–sanitize 标志超级有用,它会隐藏 IP 地址和序列号。
HTML 格式的报告非常有助于轻松共享: $ sudo lshw -html > report.html
hwinfo – 另一种工具,与 lshw 非常相似
Hwinfo 由 SUSE 开发人员创建,是另一款通用硬件探测实用程序,能够报告多个不同硬件组件的详细和简要信息。
例如:
$ hwinfo
$ hwinfo –short
dmidecode – 使用 SMBIOS API 从 BIOS/UEFI 提取信息
--type
选项,用于获取与设备相关的信息,如BIOS、系统、机箱等
例如:
$ sudo dmidecode -t processor
$ sudo dmidecode -t memory
lsusb – 显示所有可插拔设备的完美命令
有用的标记:-vvv
用于冗长模式,-s [bus]:[devnum]
只显示需要监视的特定设备。使用
可以轻松地按厂商排序,使用-d [vendor]:[product]
-t
可以在三种模式下查看所有设备,使用 -S /dev/X
选项可以使用device-file 配置。
$ lsusb
Bus 005 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
lscpu – 获取 CPU 信息的首选命令
可以使用 -e
标志启用 “冗长 “模式,-p
标志也非常有用,可以更好地格式化。可以指定--online
和 --offline
,以获得更好的可视化效果。
lsscsi – 打印 SCSI 设备信息
主要用于企业的 “老且贵 “飞SCSI 硬盘,比 PCI 和 SATA 设备更昂贵。可使用 -L、-l 和 -v 选项启用 “详细 “模式。
$ lsscsi
[3:0:0:0] disk ATA ST3500418AS CC38 /dev/sda
[4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
dmesg – 内核日志
内核日志对硬件事件很有帮助,如 attach, detach、关机等。使用 grep
和 less
命令效果更好:sudo dmesg | grep -i audio | less
。
inxi – ” all in one”脚本
疯狂的、超过 10K 行代码的 bash 脚本,能够获取多个系统 API 并提供大量信息。有用的标记-z
用于隐藏敏感信息(如果你想将报告上传到互联网),-F
用于冗长模式,-A
用于音频信息,-m
用于内存,-i
用于网络,-p
用于磁盘信息,所有选项都可以在帮助菜单中查看,该菜单可以通过-H
调用。
fdisk、gdisk 和 parted – 有关硬盘分区的所有信息
你可能会问,为什么这里有三个命令?gdisk
是支持 GTP 分区模式的 fdisk
fork,现在 fdisk
也支持 GPT。如果要介绍它们的选项,可能需要好几篇类似的文章,但以下是检查硬盘信息的方法:$ fdisk -l
或 gdisk -l
或 parted -l
。
blkid 和 lsblk – 块设备列表
这些命令显示有关可用块设备的信息。示例如下:
$ lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 200M 0 part
# blkid -i /dev/sda
/dev/sda: MINIMUM_IO_SIZE="512" PHYSICAL_SECTOR_SIZE="512" LOGICAL_SECTOR_SIZE="512"
mount – 挂载驱动器并打印已挂载的信息
$ mount | column -t
以获得更好的可视化效果,sudo mount /dev/sdaN /media/data
– 挂载分区。
$ mount | column -t
/dev/sda2 on / type ext4 (rw,relatime,stripe=256)
devtmpfs on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=5827492k,nr_inodes=1456873,mode=755,inode64)
df – 检查已用和可用磁盘空间
有用的标记:df -H
– 人可读输出。
/proc – 包含硬件/软件相关信息和配置的虚拟文件系统
/prop/cpuinfo
– CPU 参数
/proc/version
– 内核版本
/proc/partitions
– 分区信息
hdparm – 获取/设置 SATA/IDE 设备参数
多年来,它在大多数 Linux 发行版中都是默认配置,对高级配置非常有用。
$ hdparm -g
– 显示硬盘使用情况
$ hdparm -tT /dev/sdN
– 分区读写基准测试