最简单的方法是使用标准的 Linux GUI 程序之一:

  • i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示。
  • HardInfo 显示硬件具体信息,甚至包括一组八个的流行的性能基准程序,你可以用它们评估你的系统性能。
  • KInfoCenter 和 Lshw 也能够显示硬件的详细信息,并且可以从许多软件仓库中获取。

或者,你也可以拆开计算机机箱去查看硬盘、内存和其他设备上的标签信息。或者你可以在系统启动时,按下相应的按键进入 UEFI 和 BIOS 界面获得信息。这两种方式都会向你显示硬件信息但省略软件信息。

你也可以使用命令行获取硬件信息。等一下… 这听起来有些困难。为什么你会要这样做?

有时候通过使用一条针对性强的命令可以很轻松的找到特定信息。也可能你没有可用的 GUI 程序或者只是不想安装这样的程序。

使用命令行的主要原因可能是编写脚本。无论你是使用 Linux shell 还是其他编程语言来编写脚本通常都需要使用命令行。

很多检测硬件信息的命令行都需要使用 root 权限。所以要么切换到 root 用户,要么使用 sudo 在普通用户状态下发出命令:

  1. sudo <the_line_command>

并按提示输入你的密码。

这篇文章介绍了很多用于发现系统信息的有用命令。文章最后的快速查询表对它们作出了总结。

硬件概述

下面几条命令可以全面概述计算机硬件信息。

inxi 命令能够列出包括 CPU、图形、音频、网络、驱动、分区、传感器等详细信息。当论坛里的人尝试帮助其他人解决问题的时候,他们常常询问此命令的输出。这是解决问题的标准诊断程序:

  1. inxi -Fxz

-F 参数意味着你将得到完整的输出,x 增加细节信息,z 参数隐藏像 MAC 和 IP 等私人身份信息。

hwinfo 和 lshw 命令以不同的格式显示大量相同的信息:

  1. hwinfo --short

  1. lshw -short

这两条命令的长格式输出非常详细,但也有点难以阅读:

  1. hwinfo

  1. lshw

CPU 详细信息

通过命令你可以了解关于你的 CPU 的任何信息。使用 lscpu 命令或与它相近的 lshw 命令查看 CPU 的详细信息:

  1. lscpu

  1. lshw -C cpu

在这两个例子中,输出的最后几行都列出了所有 CPU 的功能。你可以查看你的处理器是否支持特定的功能。

使用这些命令的时候,你可以通过使用 grep 命令过滤复杂的信息,并缩小所需信息范围。例如,只查看 CPU 品牌和型号:

  1. lshw -C cpu | grep -i product

仅查看 CPU 的速度(兆赫兹):

  1. lscpu | grep -i mhz

或其 BogoMips 额定功率:

  1. lscpu | grep -i bogo

grep 命令的 -i 参数代表搜索结果忽略大小写。

内存

Linux 命令行使你能够收集关于你的计算机内存的所有可能的详细信息。你甚至可以不拆开计算机机箱就能确定是否可以为计算机添加额外的内存条。

使用 dmidecode 命令列出每根内存条和其容量:

  1. dmidecode -t memory | grep -i size

使用以下命令获取系统内存更多的信息,包括类型、容量、速度和电压:

  1. lshw -short -C memory

你肯定想知道的一件事是你的计算机可以安装的最大内存:

  1. dmidecode -t memory | grep -i max

现在检查一下计算机是否有空闲的插槽可以插入额外的内存条。你可以通过使用命令在不打开计算机机箱的情况下就做到:

  1. lshw -short -C memory | grep -i empty

输出为空则意味着所有的插槽都在使用中。

确定你的计算机拥有多少显卡内存需要下面的命令。首先使用 lspci 列出所有设备信息然后过滤出你想要的显卡设备信息:

  1. lspci | grep -i vga

视频控制器的设备号输出信息通常如下:

  1. 00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)

现在再加上视频设备号重新运行 lspci 命令:

  1. lspci -v -s 00:02.0

输出信息中 prefetchable 那一行显示了系统中的显卡内存大小:

  1. ...
  2. Memory at f0100000 (32-bit, non-prefetchable) [size=512K]
  3. I/O ports at 1230 [size=8]
  4. Memory at e0000000 (32-bit, prefetchable) [size=256M]
  5. Memory at f0000000 (32-bit, non-prefetchable) [size=1M]
  6. ...

最后使用下面的命令展示当前内存使用量(兆字节):

  1. free -m

这条命令告诉你多少内存是空闲的,多少命令正在使用中以及交换内存的大小和是否正在使用。例如,输出信息如下:

  1.               total        used        free     shared    buff/cache   available
  2. Mem:          11891        1326        8877      212        1687       10077
  3. Swap:          1999           0        1999

top 命令为你提供内存使用更加详细的信息。它显示了当前全部内存和 CPU 使用情况并按照进程 ID、用户 ID 及正在运行的命令细分。同时这条命令也是全屏输出:

  1. top

磁盘文件系统和设备

你可以轻松确定有关磁盘、分区、文件系统和其他设备信息。

显示每个磁盘设备的描述信息:

  1. lshw -short -C disk

通过以下命令获取任何指定的 SATA 磁盘详细信息,例如其型号、序列号以及支持的模式和扇区数量等:

  1. hdparm -i /dev/sda

当然,如果需要的话你应该将 sda 替换成 sdb 或者其他设备号。

要列出所有磁盘及其分区和大小,请使用以下命令:

  1. lsblk

使用以下命令获取更多有关扇区数量、大小、文件系统 ID 和 类型以及分区开始和结束扇区:

  1. fdisk -l

要启动 Linux,你需要确定 GRUB 引导程序的可挂载分区。你可以使用 blkid 命令找到此信息。它列出了每个分区的唯一标识符(UUID)及其文件系统类型(例如 ext3 或 ext4):

  1. blkid

使用以下命令列出已挂载的文件系统和它们的挂载点,以及已用的空间和可用的空间(兆字节为单位):

  1. df -m

最后,你可以列出所有的 USB 和 PCI 总线以及其他设备的详细信息:

  1. lsusb

  1. lspci

网络

Linux 提供大量的网络相关命令,下面只是几个例子。

查看你的网卡硬件详细信息:

  1. lshw -C network

ifconfig 是显示网络接口的传统命令:

  1. ifconfig -a

但是现在很多人们使用:

  1. ip link show

  1. netstat -i

在阅读输出时,了解常见的网络缩写十分有用:

缩写 含义
lo 回环接口
eth0 或 enp* 以太网接口
wlan0 无线网接口
ppp0 点对点协议接口(由拨号调制解调器、PPTP VPN 连接或者 USB 调制解调器使用)
vboxnet0 或 vmnet* 虚拟机网络接口

表中的星号是通配符,代表不同系统的任意字符。

使用以下命令显示默认网关和路由表:

  1. ip route | column -t

  1. netstat -r

软件

让我们以显示最底层软件详细信息的两条命令来结束。例如,如果你想知道是否安装了最新的固件该怎么办?这条命令显示了 UEFI 或 BIOS 的日期和版本:

  1. dmidecode -t bios

内核版本是多少,以及它是 64 位的吗?网络主机名是什么?使用下面的命令查出结果:

  1. uname -a

快速查询表

< 如显示不全,请左右滑动 >

用途 命令
显示所有硬件信息 inxi -Fxz 或 hwinfo --short 或 lshw  -short
CPU 信息 lscpu 或 lshw -C cpu
显示 CPU 功能(例如 PAE、SSE2) lshw -C cpu | grep -i capabilities
报告 CPU 位数 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 显卡内存数量就是 prefetchable 的值
显示当前内存使用情况 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

最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示。 HardInfo 显示硬件具体信息,甚至包括一组八个的流行的性能基准程序,你可以用它们评估你的系统性能。 KInfoCenter 和 Lshw 也能够显示硬件的详细信息,并且可以从许多软件仓库中获取。的更多相关文章

  1. linux RPM(红帽软件包管理器)和Yum软件仓库中常见的命令

    RPM(红帽软件包管理器)常用命令 安装软件:rpm -ivh filename.rpm 升级软件:rpm -Uvh filename.rpm 卸载软件:rpm -e filename.rpm 查询软 ...

  2. SpringBoot中获取微信用户信息从未如此简单!

    前言 不知道你是否参加过拼多多上邀请微信好友砍价功能,这个功能实现首先需要考虑的就是获取微信用户的信息.获取用户信息就是获取公众号下微信用户的信息,今天我就来讲讲如何从公众号下获取微信用户信息. 需要 ...

  3. 基于CentOS设置和使用Yum软件仓库

    参考:How To Set Up and Use Yum Repositories on a CentOS 6 VPS 参考:CentOS yum 源的配置与使用 介绍 Yum仓库是Linux软件仓库 ...

  4. Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库

    今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...

  5. 1.5 RPM红帽软件包1.6 Yum软件仓库

    1.5 RPM红帽软件包 在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装.早期在Linux系统中安装程序是一件非常困难.耗费耐心的事情,而且大多数的服务程 ...

  6. 如何将现有 git 仓库中的子项目单独抽出来作为一个独立仓库并保留其提交历史

    很多时候,我们会遇到在一个git仓库下包含了很多小项目,但是随着有些项目的需求逐渐增大或则市场需求,我们需要将其抽离出来,作为一个单独的项目进行维护并开发. 但是,如果直接拷贝文件粘贴到新建的git ...

  7. windows下使用git和github建立远程仓库

    转自(http://www.bubuko.com/infodetail-430228.html) 从昨天开始就在看git的使用,因为在Windows下很多命令行操作都比较坑爹,但是今天再走了无数弯路之 ...

  8. Windows下maven安装配置(包括本地化仓库配置)

    一.下载maven maven官网:http://maven.apache.org/ 下载下来也就是一个压缩文件,解压.我下载的是3.5.2版本,解压之后如下: 路径为 :D:\Program Fil ...

  9. Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义

    Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使 ...

随机推荐

  1. 将一个字符串进行反转:将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”

    将一个字符串进行反转:将字符串中指定部分进行反转.比如"abcdefg"反转为"abfedcg"方式一:转换为char[] public String reve ...

  2. wap视频广告遇到的问题

    最近在做一个wap端的视频广告,耗了很多心力在上面,仍旧做不好.没想到wap浏览器对video标签这么不友好.广告需要在原编辑视频播完后插入并自动播放. ios浏览器点击播放按钮后喜欢自动全屏播放,希 ...

  3. MyBatis笔记(七)

    1. 简介 什么是缓存? 存在内存中的临时数据 将用户经常查询的数据存放在缓存(内存)中,用户取查询就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问 ...

  4. Toolkit 大更新:UI 更美观,用起来更方便!

    前言 前段时间有小伙伴在群里聊天,说到 Toolkit 下载量到 4.9k 了.就突然想起来,很久没有更新这个插件. PS:我是用它申请了 License,一般时候使用 Json 格式化功能. 趁着周 ...

  5. 6.1vector用法

    目录 一.用法介绍 二.基本用法 三.PAT A1039 一.用法介绍 vector<typename>name; 按照这样的格式进行定义与书写. 注意定义成双数组的情况要加上空格. ve ...

  6. JMeter循环读取CSV文件实现接口批量测试

    首先要理解为什么要进行批量测试,当我们在工作中进行接口测试时,项目的接口肯定不止一个,而是很多很多,而且每个接口都需要进行正确参数,错误参数,参数为空,特殊字符等方式来测试接口是否能够正确返回所需的响 ...

  7. 自动化kolla-ansible部署openstack+GPU透传方法

    自动化kolla-ansible部署openstack+GPU透传方法 欢迎加QQ群:1026880196 进行交流学习 1. CentOS7.x-8.x系列为虚拟机配置GPU直通 1. 编辑文件vi ...

  8. poj_1700 题解

    题目描述:在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边. 如果不借助手电筒的话,大家是无论如何也不敢过桥去的. 不幸的是,四个人一共只带了一只手电筒,而桥窄得只够让两个人同时过. 如果各自 ...

  9. 微信小程序 icon组件详细介绍

    这些是提供的所支持的图标样式,根据需求在此基础上去修改大小和颜色. 主要属性: 使用方式: wxml <!--成功图标--> <icon type="success&quo ...

  10. 【Redis过期Key监听】

    https://blog.csdn.net/wlddhj/article/details/89881055