linux常用命令(9)——查看系统与硬件信息

博客主页:christine-rr-CSDN博客

​​​​​ ​​

hi,大家好,我是christine-rr ! 今天来分享一下linux常用命令------查看系统与硬件信息

在 Linux 系统中,快速获取系统、硬件和资源使用情况是日常运维、故障排查和性能调优的基础。本文系统整理了查看系统相关信息的常用命令 ,涵盖内核、操作系统、CPU、内存、磁盘、网络、进程、服务等核心维度,适合新手入门与老手速查。


文章目录

    • [1️⃣ 查看内核与操作系统信息](#1️⃣ 查看内核与操作系统信息)
      • [🔹 `uname`:查看内核版本](#🔹 uname:查看内核版本)
      • [🔹 查看操作系统发行版](#🔹 查看操作系统发行版)
    • [2️⃣ 主机与网络信息](#2️⃣ 主机与网络信息)
      • [🔹 主机名](#🔹 主机名)
      • [🔹 IP 地址与网络配置](#🔹 IP 地址与网络配置)
    • [3️⃣ CPU 信息](#3️⃣ CPU 信息)
      • [🔹 快速概览](#🔹 快速概览)
      • [🔹 详细参数](#🔹 详细参数)
      • [🔹 实时频率(需 root)](#🔹 实时频率(需 root))
    • [4️⃣ 内存信息](#4️⃣ 内存信息)
      • [🔹 使用情况(人类可读)](#🔹 使用情况(人类可读))
      • [🔹 详细参数](#🔹 详细参数)
    • [5️⃣ 磁盘与存储](#5️⃣ 磁盘与存储)
      • [🔹 分区使用情况](#🔹 分区使用情况)
      • [🔹 块设备结构](#🔹 块设备结构)
      • [🔹 磁盘分区表(需 root)](#🔹 磁盘分区表(需 root))
      • [🔹 磁盘 I/O 性能(进阶)](#🔹 磁盘 I/O 性能(进阶))
    • [6️⃣ 其他硬件信息](#6️⃣ 其他硬件信息)
      • [🔹 PCI 设备(显卡、网卡等)](#🔹 PCI 设备(显卡、网卡等))
      • [🔹 USB 设备](#🔹 USB 设备)
      • [🔹 全面硬件清单(需安装)](#🔹 全面硬件清单(需安装))
    • [7️⃣ 进程与系统负载](#7️⃣ 进程与系统负载)
      • [🔹 实时监控](#🔹 实时监控)
      • [🔹 进程快照](#🔹 进程快照)
      • [🔹 系统负载](#🔹 系统负载)
    • [8️⃣ 系统服务状态(systemd)](#8️⃣ 系统服务状态(systemd))
      • [🔹 服务管理](#🔹 服务管理)
      • [🔹 快速检查关键服务](#🔹 快速检查关键服务)
    • [附:一键系统信息脚本(可保存为 `sysinfo.sh`)](#附:一键系统信息脚本(可保存为 sysinfo.sh))
    • [✅ 总结](#✅ 总结)

1️⃣ 查看内核与操作系统信息

🔹 uname:查看内核版本

bash 复制代码
uname -a          # 显示完整内核信息(主机名、内核版本、架构等)
uname -r          # 仅显示内核版本号(如 5.15.0-91-generic)
uname -m          # 显示机器硬件架构(如 x86_64、aarch64)

💡 适用于判断是否支持某驱动或内核模块。


🔹 查看操作系统发行版

不同发行版存储版本信息的位置不同,推荐组合使用:

bash 复制代码
# 通用方法(推荐)
cat /etc/os-release     # 所有现代 Linux 发行版均支持(含 Ubuntu、CentOS、Debian 等)

# RedHat/CentOS/Fedora 系列
cat /etc/redhat-release

# Debian/Ubuntu 系列
lsb_release -a          # 需安装 lsb-core(Ubuntu 默认已装)
cat /etc/issue          # 登录前显示的信息,部分系统可用

# 快速一行输出系统名称 + 版本
grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"'

⚠️ 注意:/etc/issue 可能被自定义,不建议作为唯一依据。


2️⃣ 主机与网络信息

🔹 主机名

bash 复制代码
hostname              # 显示当前主机名
hostnamectl           # 更详细(含静态/临时主机名、操作系统、内核)

🔹 IP 地址与网络配置

bash 复制代码
hostname -I           # 快速列出所有 IPv4/IPv6 地址(空格分隔)

ip addr               # 查看所有网络接口详情(现代标准,替代 ifconfig)
ip route              # 查看路由表

# 传统命令(部分旧系统仍用)
ifconfig              # 已被 ip 命令取代,需安装 net-tools

💡 ip addr show eth0 可查看指定网卡信息。


3️⃣ CPU 信息

🔹 快速概览

bash 复制代码
lscpu                 # 最常用!汇总 CPU 架构、核心数、线程、缓存、型号等

🔹 详细参数

bash 复制代码
cat /proc/cpuinfo     # 每个逻辑 CPU 的详细信息(频率、flags、vendor 等)

🔹 实时频率(需 root)

bash 复制代码
sudo dmidecode -t processor | grep "Current Speed"   # 查看标称频率
watch -n 1 'cat /proc/cpuinfo | grep "MHz"'         # 实时监控频率变化

💡 lscpu 输出更简洁,适合脚本解析;/proc/cpuinfo 适合深度排查。


4️⃣ 内存信息

🔹 使用情况(人类可读)

bash 复制代码
free -h               # -h = human-readable(单位:G/M/K)
free -m               # 以 MB 为单位

🔹 详细参数

bash 复制代码
cat /proc/meminfo     # 包含总内存、可用内存、缓存、交换分区等详细指标

关键字段说明

  • MemTotal:物理内存总量
  • MemAvailable:估算的可用内存(Linux 3.14+)
  • SwapTotal / SwapFree:交换分区大小

5️⃣ 磁盘与存储

🔹 分区使用情况

bash 复制代码
df -h                 # 查看各挂载点的磁盘使用率(-h 人性化显示)
df -i                 # 查看 inode 使用情况(排查"磁盘满但空间未用完"问题)

🔹 块设备结构

bash 复制代码
lsblk                 # 树状列出硬盘、分区、挂载点(无需 root)
lsblk -f              # 同时显示文件系统类型和 UUID

🔹 磁盘分区表(需 root)

bash 复制代码
sudo fdisk -l         # 列出所有磁盘的分区表(MBR/GPT)
sudo parted -l        # 支持 GPT 的现代工具

🔹 磁盘 I/O 性能(进阶)

bash 复制代码
iostat -x 1           # 需安装 sysstat,实时监控磁盘读写速率、利用率

6️⃣ 其他硬件信息

🔹 PCI 设备(显卡、网卡等)

bash 复制代码
lspci                 # 列出所有 PCI 设备
lspci -v              # 详细模式
lspci | grep -i vga   # 快速查找显卡

🔹 USB 设备

bash 复制代码
lsusb                 # 列出所有 USB 设备
lsusb -t              # 以树状显示 USB 拓扑结构

🔹 全面硬件清单(需安装)

bash 复制代码
sudo lshw             # 生成完整硬件报告(需安装 lshw)
sudo lshw -short      # 简洁列表

7️⃣ 进程与系统负载

🔹 实时监控

bash 复制代码
top                   # 经典进程监控(按 q 退出)
htop                  # 增强版(彩色、支持鼠标、可杀进程)→ 需安装:sudo apt install htop

🔹 进程快照

bash 复制代码
ps aux                # 列出所有进程(user, pid, cpu%, mem%, command)
ps -ef | grep nginx   # 查找特定进程

🔹 系统负载

bash 复制代码
uptime                # 显示运行时间 + 1/5/15 分钟平均负载
w                     # 显示登录用户及其正在运行的进程
cat /proc/loadavg     # 直接读取负载值(可用于脚本)

📌 负载解读

  • 单核 CPU:负载 ≈ 1 表示满负荷
  • 多核 CPU:负载 ≈ 核心数 表示满负荷

8️⃣ 系统服务状态(systemd)

🔹 服务管理

bash 复制代码
systemctl status nginx        # 查看单个服务状态
systemctl list-units --type=service --state=running   # 列出所有运行中的服务

systemctl list-unit-files --type=service  # 列出所有服务及其开机启动状态(enabled/disabled)

🔹 快速检查关键服务

bash 复制代码
systemctl is-active ssh       # 返回 active/inactive
systemctl is-enabled ssh      # 返回 enabled/disabled

附:一键系统信息脚本(可保存为 sysinfo.sh

bash 复制代码
#!/bin/bash
echo "=== 系统信息 ==="
hostnamectl
echo -e "\n=== 内核 ==="
uname -r
echo -e "\n=== CPU ==="
lscpu | grep -E "Model name|Core|Thread|CPU MHz"
echo -e "\n=== 内存 ==="
free -h
echo -e "\n=== 磁盘 ==="
df -h
echo -e "\n=== 网络 ==="
hostname -I

运行:chmod +x sysinfo.sh && ./sysinfo.sh


✅ 总结

类别 推荐命令 用途
系统版本 cat /etc/os-release 通用、准确
内核 uname -r 快速获取版本
CPU lscpu 架构与核心数
内存 free -h 使用情况
磁盘 df -h + lsblk 容量与结构
网络 ip addr IP 与接口
进程 htop / ps aux 监控与排查
服务 systemctl status 管理 systemd 服务

掌握这些命令,你就能在终端中"透视"整个 Linux 系统!建议收藏本文,遇到问题随时查阅。

🌟 小提示 :搭配 | grep| lesswatch 等命令,效率翻倍!

相关推荐
源代码•宸9 小时前
Golang语法进阶(Sync、Select)
开发语言·经验分享·后端·算法·golang·select·pool
IT_陈寒9 小时前
2024年JavaScript开发者必备的10个ES13新特性实战指南
前端·人工智能·后端
yuanmenghao9 小时前
自动驾驶中间件iceoryx - 同步与通知机制(一)
开发语言·网络·驱动开发·中间件·自动驾驶
阿豪学编程9 小时前
【Linux】线程同步和线程互斥
linux·开发语言
寻星探路9 小时前
【深度长文】深入理解网络原理:TCP/IP 协议栈核心实战与性能调优
java·网络·人工智能·python·网络协议·tcp/ip·ai
oMcLin9 小时前
如何在CentOS Stream 9上通过配置Hyper‑V虚拟化实现高效的资源隔离与虚拟机管理?
linux·运维·centos
liuyunshengsir9 小时前
Elasticsearch 高级查询must 多个条件同时满足
linux·服务器·elasticsearch
博晶网络9 小时前
MR400D工业级4G路由器:TCP/IP与UDP协议,解锁工业物联网高效传输新范式‌
网络·单片机·嵌入式硬件
2301_8002561110 小时前
第九章:空间网络模型(空间网络查询、数据模型、Connected、with Recursive、pgRouting)
网络·数据库·算法·postgresql·oracle