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

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

使用: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信息,包括默认和扩展的信息。

  • -p, --parse: 解析/proc/cpuinfo文件并以可读格式显示处理器信息。

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

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

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

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

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

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

使用lscpu

[图片上传失败...(image-2a241-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

内存使用情况: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,可以得到类似下面的输出:

[图片上传失败...(image-67864e-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

这表示当前系统已经运行了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,可以得到类似下面的输出:

[图片上传失败...(image-913603-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">测试</figcaption>

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

eth0是以太网接口,它的IP地址是http://xxx.xxx.xxx.xxx,子网掩码是http://xxx.xxx.xxx.xxx,广播地址是http://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停止重新显示。如果省略这个参数,命令只会打印一次选定的信息。

[图片上传失败...(image-d0d253-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

无线网络接口信息:iwconfig

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

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

磁盘分区信息:fdisk

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

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

比如这台服务器有2个磁盘:vda 和vdb,各自分了2个区。

[图片上传失败...(image-e71ddb-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

磁盘使用情况: df

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

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

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

[图片上传失败...(image-a699e8-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

系统主机名等信息: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

[图片上传失败...(image-cc2766-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

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数据库。如果你怀疑显示的条目是错误的,请使用这个选项。

[图片上传失败...(image-33393e-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

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:打印版本信息并成功退出。

[图片上传失败...(image-8bee1d-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>

系统硬件详细信息: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:打印版本信息并成功退出。

[图片上传失败...(image-a9d555-1710121819526)]

<figcaption style="color: rgb(145, 150, 161); font-size: 0.9em; line-height: 1.5; margin-top: calc(0.666667em); padding: 0px 1em; text-align: center;">在这里插入图片描述</figcaption>


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

[图片上传失败...(image-8418c5-1710121819526)]


原文链接:https://zhuanlan.zhihu.com/p/642738162?utm_id=0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343