【Linux】查看系统各种信息的常用命令 (CPU、内存、进程、网口、磁盘、硬件、等等)

news2024/9/24 15:20:27

Linux是一种开源的类Unix操作系统,它有很多不同的发行版,如Ubuntu、CentOS、Debian等。Linux系统提供了很多命令行工具,可以让用户方便地查看和管理系统的各种信息,如硬件配置、内存使用、进程状态、网络连接等。本文将介绍一些常用的命令,以及它们的用法和示例。

  • 系统基本信息:uname
  • Linux发行版信息: lsb_release
  • CPU详细信息:lscpu
  • 内存使用情况:free
  • 系统实时进程状态: top
  • 网络接口信息: ifconfig
  • 网络连接相关信息:netstat
  • 无线网络接口信息:iwconfig
  • 磁盘分区信息:fdisk
  • 磁盘使用情况: df
  • 系统主机名等信息:hostnamectl
  • PCI设备信息:lspci
  • USB设备信息:lsusb
  • 系统硬件详细信息:dmidecode

使用:man command 或者 command -h 查看相关命令的完整参数。

系统基本信息:uname

uname命令可以显示系统的基本信息,如内核版本、操作系统名称、主机名、硬件架构等。它有以下常用的选项:

  • -a:显示所有信息
  • -s:显示内核名称
  • -r:显示内核版本
  • -v:显示内核发布日期
  • -o:显示操作系统名称
  • -n:显示主机名
  • -m:显示硬件架构

例如,输入uname -a,可以得到类似下面的输出:

root@CQUPTLEI:~# uname -a
Linux CQUPTLEI 5.4.0-149-generic #166-Ubuntu SMP Tue Apr 18 16:51:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

这表示当前系统是Linux,内核版本是5.4.0-149-generic,发布日期是2023年4月18日,硬件架构是x86_64,操作系统名称是GNU/Linux。

Linux发行版信息: lsb_release

lsb_release命令可以显示Linux发行版的信息,如发行版名称、版本号、代号等。它有以下常用的选项:

  • -a:显示所有信息
  • -d:显示发行版描述
  • -c:显示发行版代号
  • -r:显示发行版版本号

例如,输入lsb_release -a,可以得到类似下面的输出:

root@CQUPTLEI:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

这表示当前系统是Ubuntu发行版,版本号是20.04.6 LTS,代号是focal。

LSB是Linux标准基础(Linux Standard Base)的简称。它是一个由Linux基础设施提供商、应用程序开发者和Linux社区共同制定的标准,旨在提供一致的软件接口和二进制兼容性,以增强不同Linux发行版之间的互操作性。

LSB的目标是定义一组核心规范和标准,确保在符合LSB的Linux系统上开发和运行的应用程序能够在不同的Linux发行版上保持一致的行为。这使得应用程序开发者能够更容易地将其软件移植到不同的Linux环境中,而不需要为每个发行版进行额外的定制和调整。

LSB标准涵盖了各种方面,包括文件系统布局、共享库、命令工具、系统调用接口、初始化脚本、包管理和日志系统等。它定义了一些基本的命令和工具,如lsb_release,用于查看Linux发行版的信息,以及其他用于检查和验证系统符合LSB标准的工具。

通过遵循LSB标准,Linux发行版可以提供更高的互操作性,允许开发者在不同的Linux系统上更轻松地交付和运行应用程序。这也为企业和组织提供了更大的灵活性,使其能够选择不同的Linux发行版,并确保其应用程序能够在这些发行版上正常运行。

CPU详细信息:lscpu

lscpu 用于显示关于CPU的详细信息。它提供了有关处理器架构、逻辑核心数、大小端模式、CPU频率、缓存层次结构和支持的特性等信息。

常见的参数:

  • -a, --all:
    显示所有可用的CPU信息,包括默认和扩展的信息。
  1. -p, --parse:
    解析/proc/cpuinfo文件并以可读格式显示处理器信息。

  2. -s, --socket:
    只显示物理插座(socket)的信息,包括插座编号、核心数和线程数等。

  3. -c, --cpu:
    只显示逻辑CPU的信息,包括CPU编号、核心编号、线程编号等。

  4. -x, --hex:
    在显示CPU特性和标志时,以十六进制格式显示。

  5. -y, --extended=KEY:
    显示扩展的CPU信息。KEY可以是以下之一:cache,cpu,flags,topology。

  6. -e, --online:
    只显示在线的CPU的信息,即正在运行的CPU。

  7. -V, --version:
    显示lscpu命令的版本信息。

使用lscpu

在这里插入图片描述

内存使用情况:free

free命令可以显示系统的内存使用情况,包括物理内存、交换分区、缓冲区和缓存等。它有以下常用的选项:

  • -h:以人类可读的格式显示信息,如KB、MB、GB等
  • -m:以MB为单位显示信息
  • -g:以GB为单位显示信息
  • -t:显示总计信息

例如,输入free -h,可以得到类似下面的输出:

root@CQUPTLEI:~# free
              total        used        free      shared  buff/cache   available
Mem:        2030144      986392      108608       66064      935144      785052
Swap:       1049596      793048      256548

系统实时进程状态: top

top命令可以实时地显示系统的进程状态,如CPU占用率、内存占用率、运行时间等。它有以下常用的选项:

  • -u :只显示指定用户的进程
  • -p :只显示指定进程ID的进程
  • -c:显示完整的命令行
  • -d :设置刷新间隔,单位为秒

例如,输入top,可以得到类似下面的输出:

在这里插入图片描述

这表示当前系统已经运行了42天,有2个用户登录,平均负载是0.46、0.39、0.26。

共有249个进程,其中一个在运行,248个在睡眠。

CPU的使用率是2.0%用户态,2.2%系统态,95.5%空闲。

内存的使用情况是xxxxxx(看图)。交换分区的使用情况是xxxx。

最后显示了各个进程的信息,如进程ID、用户、优先级、虚拟内存、物理内存、共享内存、状态、CPU占用率、内存占用率、运行时间、命令等

网络接口信息: ifconfig

ifconfig命令可以显示和配置网络接口的信息,如IP地址、子网掩码、广播地址、MAC地址等。它有以下常用的选项:

  • -a:显示所有接口的信息,包括未激活的
  • -s:只显示摘要信息,不显示详细信息
  • :只显示指定接口的信息

例如,输入ifconfig,可以得到类似下面的输出:

这表示当前系统有3个网络接口。

eth0是以太网接口,它的IP地址是xxx.xxx.xxx.xxx,子网掩码是xxx.xxx.xxx.xxx,广播地址是xxx.xxx.xxx.xxx,MAC地址是xx:xx:xx:xx:xx:xx。

lo是本地回环接口,docker0是docker的。

网络连接相关信息:netstat

netstat可以显示活动的TCP\UDP连接、监听的端口、路由表、接口统计、多播成员等。

常用参数:

  • -a:显示所有活动的TCP连接和监听的TCP和UDP端口
  • -b:显示每个连接或监听端口所涉及的可执行文件的名称。在某些情况下,一个可执行文件可能包含多个独立的组件,这时会显示创建连接或监听端口所涉及的组件序列。这个选项可能比较耗时,而且需要足够的权限才能使用。
  • -e:显示以太网统计信息,如发送和接收的字节数和数据包数。这个参数可以和-s一起使用。
  • -n:显示数字形式的地址和端口号,而不是尝试解析主机名。
  • -o:显示每个连接的进程标识符(PID)。你可以在任务管理器中根据PID找到对应的应用程序。这个参数可以和-a, -n, -p一起使用。
  • -p :只显示指定协议的连接。协议可以是tcp, udp, tcpv6, 或 udpv6。如果这个参数和-s一起使用来显示协议统计信息,协议可以是tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, 或 ipv6。
  • -r:显示IP路由表。这相当于route print命令。
  • -s:按协议显示统计信息。默认情况下,会显示TCP, UDP, ICMP, 和 IP协议的统计信息。如果安装了IPv6协议,还会显示TCP over IPv6, UDP over IPv6, ICMPv6, 和 IPv6协议的统计信息。-p参数可以用来指定一组协议。
  • -t:显示当前连接状态。
  • < interval>:每隔指定的秒数重新显示选定的信息。按CTRL+C停止重新显示。如果省略这个参数,命令只会打印一次选定的信息。

在这里插入图片描述

无线网络接口信息:iwconfig

显示和配置无线网络接口的信息,包括无线网卡名称、频率和连接状态等。

服务器没有连接无线网,就不展示示例了(懒得切换双系统)。

磁盘分区信息:fdisk

列出系统上所有磁盘分区的信息,包括磁盘设备、分区类型和分区大小等。

关于磁盘相关的命令,可以去看我之前的文章。这里常用的参数是 -l

比如这台服务器有2个磁盘:vda 和vdb,各自分了2个区。
在这里插入图片描述

磁盘使用情况: df

df命令可以显示系统的磁盘使用情况,包括总容量、已用空间、可用空间、使用百分比等。它有以下常用的选项:

  • -h:以人类可读的格式显示信息,如KB、MB、GB等
  • -m:以MB为单位显示信息
  • -g:以GB为单位显示信息
  • -T:显示文件系统类型
  • -a:显示所有文件系统,包括特殊的
  • < directory >:只显示指定目录所在的文件系统

例如,输入df -hT,可以得到类似下面的输出:
在这里插入图片描述

系统主机名等信息:hostnamectl

查看和设置系统的主机名,包括主机名、操作系统版本、架构和系统时区等信息。

参数:

  1. status:
    显示当前系统的主机名、操作系统版本、架构和时区等信息。

  2. set-hostname NAME:
    设置系统的主机名为指定的名称。需要root权限或使用sudo执行此操作。

  3. set-chassis TYPE:
    设置系统的机箱类型。可用的类型包括desktop(桌面)、laptop(笔记本电脑)、server(服务器)和vm(虚拟机)等。

  4. set-deployment DEPLOYMENT:
    设置系统的部署环境。可用的部署环境包括production(生产环境)、development(开发环境)、testing(测试环境)和custom(自定义环境)等。

  5. set-icon-name NAME:
    设置系统主机的图标名称。该图标名称通常对应于图形用户界面(GUI)中显示的主机图标。

  6. set-location LOCATION:
    设置系统所在的位置信息。可以是一个自定义的位置字符串,例如办公室名称或机房编号。

  7. set-timezone TIMEZONE:
    设置系统的时区。需要指定有效的时区标识符,例如"Asia/Shanghai"或"America/New_York"等。

  8. set-volatile BOOL:
    设置主机名是否为临时(易失性)的。如果设置为"yes",主机名将在系统重启后重置为默认值。

  9. set-static-hostname NAME:
    设置系统的静态主机名。静态主机名在系统重启后保持不变。

  10. set-pretty NAME:
    设置一个用于美化目的的主机名。可以是一个友好的名称,用于在特定环境中显示给用户。

  11. set-transient-hostname NAME:
    设置系统的临时主机名。临时主机名在系统重启后重置为默认值。

例:hostnamectl status

在这里插入图片描述

PCI设备信息:lspci

lspci是一个用于显示系统中所有PCI总线和连接到它们的所有设备的信息的命令。默认情况下,它显示一个简要的设备列表。

这里:PCI的意思是Peripheral Component Interconnect,它是一种个人电脑总线,用于连接主板上的各种外围设备,如显卡、声卡、网卡等。

你可以使用以下一些常用参数来请求更详细的输出或者适合其他程序解析的输出 :

  • -m:以向后兼容的机器可读的格式显示输出
  • -mm:以机器可读的格式显示输出,便于脚本解析
  • -t:以树状图的形式显示输出,包括所有总线、桥、设备和它们之间的连接
  • -v:显示详细的输出,包括设备类别、供应商、子系统、IRQ等
  • -vv:显示更详细的输出,包括能力列表、PCI配置空间等
  • -vvv:显示最详细的输出,包括所有可解析的信息,即使看起来不太有趣(例如,未定义的内存区域)
  • -k:显示每个设备的内核驱动程序和模块
  • -x:以十六进制格式显示标准部分的PCI配置空间(前64字节或者对于CardBus桥是前128字节)
  • -xxx:以十六进制格式显示整个PCI配置空间(256字节)。这个选项只有root用户才能使用,因为一些PCI设备在你试图读取某些部分的配置空间时会出错(这个行为可能不违反PCI标准,但至少很愚蠢)。不过,这样的设备很少见,所以你不必太担心。
  • -xxxx:以十六进制格式显示扩展的(4096字节)PCI配置空间,这个空间在PCI-X 2.0和PCI Express总线上可用。
  • -b:以总线中心视图显示所有IRQ号和地址,而不是内核看到的那样。
  • -D:始终显示PCI域号。默认情况下,在只有域0的机器上,lspci会抑制它们。
  • -P:通过每个桥的路径来识别PCI设备,而不是通过总线号。
  • -PP:通过每个桥的路径来识别PCI设备,同时显示总线号和设备号。
  • -n:以数字形式显示PCI供应商和设备代码,而不是在PCI ID列表中查找它们。
  • -nn:以数字和名称的形式显示PCI供应商和设备代码。
  • -q:如果在本地pci.ids文件中找不到某个设备,则使用DNS查询中央PCI ID数据库,并将结果保存在本地缓存中。如果DNS查询成功,则在后续运行中即使没有给出这个选项也会识别出结果。请只在自动化脚本中谨慎使用这个选项,以避免过载数据库服务器。
  • -qq:无论是否在本地pci.ids文件中找到某个设备,都使用DNS查询中央PCI ID数据库,并重置本地缓存。
  • -Q:即使在本地pci.ids文件中找到某个设备,也使用DNS查询中央PCI ID数据库。如果你怀疑显示的条目是错误的,请使用这个选项。

在这里插入图片描述

USB设备信息:lsusb

列出连接到系统的所有USB设备的信息,包括设备ID、制造商和设备速度等。

常用参数 :

  • -v:显示详细的信息,包括设备类别、供应商、子系统、配置描述符等
  • -t:以树状图的形式显示输出,包括所有总线、设备和它们之间的连接
  • -s [ [ bus]: ] [ devnum]:只显示指定总线和/或设备号的设备。两个编号都是十进制的,可以省略。
  • -d [ vendor]: [ product]:只显示指定供应商和产品ID的设备。两个ID都是十六进制的。
  • -D device:不扫描/dev/bus/usb目录,而是只显示给定设备文件的信息。设备文件应该类似于/dev/bus/usb/001/001。这个选项显示详细信息,类似于-v选项;你必须是root用户才能使用这个选项。
  • -V:打印版本信息并成功退出。

在这里插入图片描述

系统硬件详细信息:dmidecode

显示有关系统硬件(如主板、BIOS、内存、处理器等)的详细信息。

dmidecode是一个用于解析系统的DMI(也称为SMBIOS)表内容并以人类可读的格式显示的命令。DMI表包含了系统硬件组件的描述,以及一些其他有用的信息,如序列号和BIOS版本。你可以使用以下一些常用参数来控制输出:

  • -d, --dev-mem FILE:从指定的设备文件读取内存(默认是/dev/mem)
  • -h, --help:显示帮助信息并退出
  • -q, --quiet:显示更简洁的输出,不显示未知、非活动和OEM特定的条目
  • -s, --string KEYWORD:只显示指定关键字对应的DMI字符串的值。关键字必须是以下列表中的一个:bios-vendor, bios-version, bios-release-date, system-manufacturer, system-product-name, system-version , system-serial-number, system-uuid, baseboard-manufacturer, baseboard-product-name, baseboard-version , baseboard-serial-number, baseboard-asset-tag, chassis-manufacturer, chassis-type, chassis-version , chassis-serial-number, chassis-asset-tag, processor-family, processor-manufacturer, processor-version , processor-frequency。
  • -t, --type TYPE:只显示指定类型的DMI条目。类型可以是一个数字,或者一个逗号分隔的数字列表,或者一个数字范围,如0-4。类型也可以是以下关键字之一:bios, system, baseboard, chassis, processor, memory, cache, connector, slot。
  • -u:显示未解析的条目内容,以十六进制格式。
  • -V:打印版本信息并成功退出。

在这里插入图片描述


除了上面常用的命令外,还有很多其他命令,以及第三方工具。比如top的升级版htop

在这里插入图片描述


~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/739078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决IDEA项目external libraries依赖包消失的问题

有时候电脑重启后&#xff0c;再打开IDEA上的项目时会出现external libraries目录下的依赖包都消失了的情况&#xff0c;只剩下了一个JDK的包 网上说可以通过刷新IDEA的缓存解决&#xff0c;但我试了没有效果&#xff0c;最后使用如下办法解决&#xff1a; 1.删除项目目录下的…

python接口自动化(二十五)--unittest断言——下(详解)

简介 本篇还是回归到我们最初始的话题&#xff0c;想必大家都忘记了&#xff0c;没关系看这里&#xff1a;传送门 没错最初的话题就是登录&#xff0c;由于博客园的登录机制改变了&#xff0c;本篇以我找到的开源免费的登录API为案例&#xff0c;结合 unittest 框架写 2 个用例…

MySQL原理探索——26 备库为什么会延迟好几个小时

在上一篇文章中&#xff0c;介绍了几种可能导致备库延迟的原因。你会发现&#xff0c;这些场景里&#xff0c;不论是偶发性的查询压力&#xff0c;还是备份&#xff0c;对备库延迟的影响一般是分钟级的&#xff0c;而且在备库恢复正常以后都能够追上来。 但是&#xff0c;如果备…

nvm的安装与使用5分钟极速上手

nvm的安装与使用5分钟极速上手 下载 nvm 并安装 nvm官网下载地址推荐下载 nvm-setup.zip 这一个&#xff0c;nvm-noinstall.zip下载之后不用安装&#xff0c;但是得自己配置setting.txt文件&#xff0c;以及环境变量&#xff0c;过于麻烦。nvm-setup.zip 会直接帮我们把环境变…

开篇(变量、运算符、进制)

一、Java简介 JDK&#xff08;JRE&#xff08;JVM & API&#xff09;、Java language&#xff08;tools & APIs&#xff09;&#xff09;&#xff1b;java源文件 → javac的编译 → class类&#xff08;会生成一个或多个class文件&#xff09;&#xff1b; * 使用 jav…

什么是Qt Widgets?一组创建经典桌面应用UI的界面组件!

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 Qt Widgets模块提供…

QGIS 根据点位批量出图

背景 在工作中&#xff0c;当有大量项目点位需要结合地图介绍时&#xff0c;则需要批量截图。于是有了今天的教程。 一 工具及材料准备 QGIS 插件 QuickMapServices 点位集合 CSV文件 其他图层文件 二 导入图层 这里根据实际需要导入自己对应格式的就好。 图层-添加…

计算机网络地址

1、ipv4地址 2、网络地址转换 3、子网划分和主机号

Spring MVC 注解实现

注解描述 注解描述Controller用于标记在一个类上&#xff0c;使用它标记的类就是一个SpringMVC Controller 对象&#xff0c;分发处理器将会扫描使用了该注解的类的方法&#xff0c;并检测该方法是否使用了RequestMapping 注解。Controller 只是定义了一个控制器类&#xff0c…

第七章 环境软件的安装

1、nodeJS安装 node -v node版本 安装多个node版本 pnpm i nvm -g nvm -v nvm ls 查看当前安装的版本 nvm install 18.7.0 安装指定的版本 nvm use 18.6.0 切换到别的版本 安装pnpm npm i pnpm -g pnpm -v 安装VSCode 官网直接下载 安装好后 需要配置 按住 CMD +…

基于单片机的老人防摔倒的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;通过LCD1602液晶显示屏显示当前的经纬度及时间的信息&#xff1b;温度传感器采集当前体温&#xff1b;通过GPS接收模块获得当前位置的位置的经度、纬度、时间和高度等信息&#xff1b;通过ADXL345检测老人摔倒的一瞬间重力加速度通…

[解决Github 克隆错误] unable to access ‘xxx‘: Recv failure: Connect

1.错误描述&#xff1a; 从GitHub上克隆仓库到本地&#xff0c;出现错误&#xff1a; unable to access https://github.com/xxxx: Recv failure: Connection was reset。 克隆失败。 2.第一次解决此问题&#xff1a;从终端输入&#xff1a; git config --global http.sslVer…

Liunx下的消费者与生产者模型与简单线程池的实现

文章目录 前言1.消费者与生产者模型2.信号量1.信号量的接口2.使用环形队列模拟生产者消费者模型 3.简单实现线程池4.补充说明 前言 本文主要会结束消费者生产者模型&#xff0c;以及简单线程池的实现。 1.消费者与生产者模型 之前我们学了条件变量和互斥等概念。条件变量本质…

vETSTStudio - CAPL - CAN报文未使用位

目录 ChkStart_PayloadGapsObservation 代码示例 ChkStart_PayloadGapsObservationTx 代码示例 ChkStart_PayloadGapsObservationRx 代码示例 我们在做CAN&CANFD通信或者CAN&CANFD网络管理的时候&#xff0c;就会测试到DBC中报文各种信号和位的使用状态&#xff…

从数据采集到智能控制,探寻锂电卷绕机的自动化之路

在锂电池制造过程中&#xff0c;卷绕机被视为关键设备之一。它负责将正负极材料和隔膜按照设计要求卷绕成电芯&#xff0c;是确保锂电池性能和质量的重要环节。为了提高生产效率、确保产品质量&#xff0c;锂电池行业越来越注重引入智能化技术和设备。 图.锂电池生产&#xff0…

spring boot+MySQL福聚苑社区团商品购系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9

尚硅谷Linux学习笔记

文章目录 1. Linux概述2. Linux目录结构3. Linux操作命令3.1 vim编辑命令3.1.1 一般模式3.1.2 编辑模式3.1.3 指令模式 3.2 网络相关命令3.3 系统管理3.4 帮助命令3.4.1 man 获得帮助信息3.4.2 help 获得 shell 内置命令的帮助信息3.4.3 常用快捷键 3.5 文件目录类3.5.1 pwd、e…

ROS:rosbag的使用

目录 一、背景二、概念及作用三、rosbag命令行四、rosbag程序实现4.1C实现4.2Python实现 一、背景 机器人传感器获取到的信息&#xff0c;有时我们可能需要时时处理&#xff0c;有时可能只是采集数据&#xff0c;事后分析&#xff0c;比如: 机器人导航实现中&#xff0c;可能…

基于 BPF 的 Linux 系统自动调优工具:Oracle 开发了 “bpftune”

导读Oracle 开源了一个基于 BPF 的 Linux 参数自动调优工具 “bpftune”&#xff0c;这是一个自动配置器&#xff0c;可以监控 Linux 系统的工作负载并自动设置正确的内核参数值。 Oracle 开源了一个基于 BPF 的 Linux 参数自动调优工具 “bpftune”&#xff0c;这是一个自动配…

U盘写流程USB协议抓包分析

U盘写流程USB协议抓包分析 因好奇于操作系统在对U盘这个块设备是如何进行读写传递数据包&#xff0c;笔者通过抓包测试&#xff0c;做了一个简单分析。安装了wireshark的usbPcap即能抓取主机USB接口上的usb包。 A、基本包信息分析 让我们先从读流程开始分析一下USB包的包结构…