最简单的方法是使用标准的 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. BUAA_OO_第四单元

    一.UML解析器设计 ​ 先看下题目:第四单元实现一个基于JDK 8带有效性检查的UML(Unified Modeling Language)类图,顺序图,状态图分析器 MyUmlInteractio ...

  2. Github Pages+Gridea设置DisqusJS评论

    1 前言 相信很多人都对Github Pages不默认,笔者之前写过了一篇文章,使用Github Pages去搭建博客的,链接可以戳这里. 但是唯一的不足是没有提到评论,因为当时笔者测试了一下,评论设 ...

  3. SpringBoot开发秘籍 - 集成Graphql Query

    概述 REST作为一种现代网络应用非常流行的软件架构风格受到广大WEB开发者的喜爱,在目前软件架构设计模式中随处可见REST的身影,但是随着REST的流行与发展,它的一个最大的缺点开始暴露出来: 在很 ...

  4. 分页系列之一:SQL Server 分页存储过程

    以下为最基本的代码结构,SQL Server 2012 开始支持 CREATE PROCEDURE procXXX @Page int, --当前页码,从1开始 @PageSize int --每页记 ...

  5. UI自动化测试框架:PO模式+数据驱动

    1. PO 设计模式简介 2. 工程结构说明 3. 工程代码实现 page 包 action 包 business_process 包 util 包 conf 包 test_data 目录 log 目 ...

  6. 数据驱动 - 不同数据源的读取方式(ddt、数据文件、mysql)

    1. ddt 装饰器传参 2. ddt 读取数据文件 3. 读取 txt 文件 4. 读取 excel 文件 5. 连接 mysql 1. ddt 装饰器传参 python 的数据驱动模块 ddt 安 ...

  7. Firefox 启动带有配置信息

    若不设置进行下述配置,那么 webdriver 每次启动火狐浏览器,默认都是一个不太有任何插件的浏览器被启动. 通过配置的方式,指定一个浏览器设置来启动,就可以使用以前安装的插件或配置信息了. 步骤一 ...

  8. pc/shouji/weixin判断跳转

    pc 和 手机端 判断 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android&q ...

  9. Python脚本与Metasploit交互进行自动永恒之蓝攻击

    我们首先利用 findTarget() 函数找到目标网段或目标主机中开放了445端口的主机,然后利用 confickerExploit() 函数将攻击代码写入 configure.rc 配置文件中,最 ...

  10. Intel汇编语言程序设计学习-第六章 条件处理-下

    6.6  应用:有限状态机 这个东西说了半天,感觉就是把逻辑弄得跟有向图一样,没看出来什么高端的东西,下面就整理下书上说的概念: 有限状态机(FSM,Finite-State Machine)是依据输 ...