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信息,包括默许和扩展的信息。
  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

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

内存运用情况: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,能够得到相似下面的输出:

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

这表明当时体系现已运转了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,能够得到相似下面的输出:

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

这表明当时体系有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中止从头显现。假如省掉这个参数,指令只会打印一次选定的信息。

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

无线网络接口信息:iwconfig

显现和装备无线网络接口的信息,包括无线网卡称号、频率和衔接状况等。

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

磁盘分区信息:fdisk

列出体系上一切磁盘分区的信息,包括磁盘设备、分区类型和分区巨细等。

关于磁盘相关的指令,能够去看我之前的文章。这儿常用的参数是 -l

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

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

磁盘运用情况: df

df指令能够显现体系的磁盘运用情况,包括总容量、已用空间、可用空间、运用百分比等。它有以下常用的选项:

  • -h:以人类可读的格局显现信息,如KB、MB、GB等
  • -m:以MB为单位显现信息
  • -g:以GB为单位显现信息
  • -T:显现文件体系类型
  • -a:显现一切文件体系,包括特别的
  • < directory >:只显现指定目录地点的文件体系

例如,输入df -hT,能够得到相似下面的输出:

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

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

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

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数据库。假如你置疑显现的条目是过错的,请运用这个选项。

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

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

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

体系硬件具体信息: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:打印版别信息并成功退出。

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

经过环境变量检查

除了指令以外,还能够打印环境变量,来检查一些体系装备,比方终端类型、shell类型等等:

  • PATH: 界说了体系在履行指令时查找可履行文件的目录列表,以冒号分隔。假如一个指令不包括完好的途径,体系会按照这个列表顺次查找该指令是否存在。

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

  • HOME: 界说了当时用户的主目录,即登录时默许进入的目录。这个目录一般包括用户的装备文件,数据文件等。

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

  • USER: 界说了当时用户的用户名,即登录时输入的用户名。

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

  • SHELL: 界说了当时用户运用的shell程序,即登录时启动的交互式指令解说器。常见的shell程序有bash, zsh, csh等。

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

  • LANG: 界说了当时用户运用的言语和字符编码,即显现和输入文本时运用的言语规则和字符集。这个变量会影响体系支撑的言语和区域设置,例如日期格局,钱银符号,排序规则等。

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

  • PS1: 界说了当时shell的提示符,即每次输入指令时显现在指令行前面的字符串。这个变量能够包括一些特别的转义序列,例如\u表明用户名,\h表明主机名,\w表明当时工作目录等。

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

  • TERM: 界说了当时终端的类型,即显现和输入文本时运用的终端模拟器或操控台。这个变量会影响体系支撑的终端功用,例如颜色,光标,键盘映射等。

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

  • EDITOR: 界说了当时用户运用的文本编辑器,即编辑文本文件时默许启动的程序。常见的文本编辑器有vim, nano, emacs等。
  • LD_LIBRARY_PATH: 界说了体系在履行程序时查找动态链接库的目录列表,以冒号分隔。假如一个程序依赖于某些动态链接库,体系会按照这个列表顺次查找该库是否存在。
  • TMPDIR: 界说了体系在运转时存储临时文件的目录。假如这个变量没有界说,体系会运用默许的临时文件目录,一般是/tmp或/var/tmp。

除了上面常用的指令外,还有许多其他指令,以及第三方东西。比方top的升级版htop

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



把 永 远 爱 你 写 进 诗 的 结 尾 ~