小小白祈祷中...

在 Linux 和类 Unix 系统中,有许多命令可以用来查看和监控操作系统的基本信息、硬件配置和运行状态。这些命令通常用于系统管理、故障排查和性能优化。


系统信息相关命令分类

操作系统和内核信息

这些命令用于查看操作系统的版本、内核版本和主机名等信息。

命令 功能
uname 显示系统名称和内核信息。
hostname 显示或设置主机名。
cat /etc/os-release 查看操作系统名称和版本(适用于大多数现代 Linux 发行版)。
lsb_release 显示发行版信息(需要安装 lsb-core)。
uptime 查看系统连续运行时间、当前用户数、平均负载。
dmesg 查看系统启动日志(内核环缓冲区日志)。

示例用法

  • 查看内核版本:

    1
    uname -r
  • 查看操作系统名称和版本:

    1
    cat /etc/os-release

    示例输出:

    1
    2
    3
    NAME="Ubuntu"
    VERSION="20.04.6 LTS (Focal Fossa)"
    ID=ubuntu
  • 查看主机名:

    1
    hostname

CPU 信息

命令 功能
lscpu 显示 CPU 体系结构信息(内核数、线程数、频率等)。
cat /proc/cpuinfo 查看详细的 CPU 信息。
nproc 显示当前系统的可用 CPU 核心数量。
mpstat 显示 CPU 使用情况(需要安装 sysstat)。

示例用法

  • 查看 CPU 的详细信息:

    1
    cat /proc/cpuinfo
  • 查看 CPU 核心数量:

    1
    lscpu

    示例输出:

    1
    2
    3
    Architecture:        x86_64
    CPU(s): 8
    Model name: Intel(R) Core(TM) i7-9750H

内存信息

命令 功能
free 查看系统内存和交换分区的使用情况。
vmstat 显示虚拟内存统计信息(需要安装 procps)。
cat /proc/meminfo 查看详细的内存信息。

示例用法

  • 查看内存使用情况:

    1
    free -h

    示例输出:

    1
    2
    3
                  total        used        free      shared  buff/cache   available
    Mem: 16G 8G 4G 512M 4G 7G
    Swap: 2G 1G 1G
  • 查看详细内存信息:

    1
    cat /proc/meminfo

磁盘和文件系统信息

命令 功能
df 查看文件系统的磁盘使用情况。
du 查看指定目录或文件占用的磁盘空间。
lsblk 查看磁盘分区和挂载点信息。
blkid 查看分区的 UUID 和文件系统类型。
mount 查看当前挂载的文件系统。
cat /proc/partitions 查看所有磁盘分区信息。
iostat 显示磁盘 I/O 使用情况(需要安装 sysstat)。

示例用法

  • 查看磁盘使用情况:

    1
    df -h

    示例输出:

    1
    2
    3
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1 50G 20G 30G 40% /
    /dev/sdb1 500G 300G 200G 60% /mnt/data
  • 查看分区信息:

    1
    lsblk

    示例输出:

    1
    2
    3
    4
    5
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 50G 0 disk
    └─sda1 8:1 0 50G 0 part /
    sdb 8:16 0 500G 0 disk
    └─sdb1 8:17 0 500G 0 part /mnt/data

网络信息

命令 功能
ip 查看和配置网络接口信息(推荐替代 ifconfig)。
ifconfig 查看网络接口信息(较旧的工具,现已被 ip 替代)。
ping 测试与目标主机的网络连通性。
netstat 显示网络连接、路由表和端口信息(较旧,推荐替代为 ss)。
ss 显示网络连接状态(推荐替代 netstat)。
traceroute 跟踪数据包到目标主机的路径。
nslookupdig 查询域名的 DNS 信息。

示例用法

  • 查看网络接口信息:

    1
    ip addr
  • 测试与目标主机的连通性:

    1
    ping 8.8.8.8
  • 查看网络连接状态:

    1
    ss -tuln

    示例输出:

    1
    2
    3
    State     Recv-Q    Send-Q      Local Address:Port      Peer Address:Port
    LISTEN 0 128 127.0.0.1:3306 *:*
    LISTEN 0 128 *:22 *:*

运行时统计信息

命令 功能
top 实时显示系统当前的运行状态(包括 CPU、内存、任务)。
htop 类似于 top,但提供更友好的界面(需要安装)。
vmstat 显示系统性能(CPU、内存、IO 等)的统计信息。
iostat 显示 CPU 和磁盘 I/O 使用情况(需要安装 sysstat)。
sar 系统性能监控工具(需要安装 sysstat)。

示例用法

  • 实时查看系统状态:

    1
    top
  • 详细分析系统性能:

    1
    vmstat 2 5

    示例输出:

    1
    2
    3
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    1 0 0 80000 40000 200000 0 0 1 2 50 200 1 0 98 1

硬件信息

命令 功能
lspci 列出所有 PCI 设备信息(如显卡、网卡)。
lsusb 列出所有 USB 设备信息。
dmidecode 查看硬件的详细信息(如 BIOS、内存、CPU 等)。
hwinfo 显示硬件信息(可能需要安装)。
inxi 简单易读的硬件信息工具(需要安装)。

示例用法

  • 列出 PCI 设备:

    1
    lspci

    示例输出:

    1
    2
    00:00.0 Host bridge: Intel Corporation Device 3e10 (rev 07)
    00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (rev 02)
  • 列出 USB 设备:

    1
    lsusb
  • 查看 CPU、内存、BIOS 信息:

    1
    sudo dmidecode

日志信息

命令 功能
journalctl 查看系统日志(适用于 systemd)。
dmesg 查看内核日志,用于诊断硬件问题。
cat /var/log/syslog 查看系统日志(传统日志文件)。
cat /var/log/messages 查看系统消息日志(某些发行版使用)。

示例用法

  • 查看最新的系统日志:

    1
    journalctl -xe
  • 查看特定服务的日志:

    1
    journalctl -u sshd

总结

功能分类 常用命令
操作系统信息 uname, hostname, cat /etc/os-release, lsb_release
CPU 信息 lscpu, cat /proc/cpuinfo, nproc
内存信息 free, cat /proc/meminfo, vmstat
磁盘信息 df, du, lsblk, blkid
网络信息 ip, ifconfig, ss, ping, traceroute
运行时统计 top, htop, vmstat, iostat
硬件信息 lspci, lsusb, dmidecode, hwinfo
日志信息 journalctl, dmesg, /var/log/syslog

熟练使用这些命令可以帮助有效地管理和监控 Linux 系统的运行状态。

本文作者:LuoYing @ 小小白的笔记屋

本文链接:https://luoying.netlify.app/2024/10/08/xiou2s43/

本文标题:Linux命令详解---系统信息相关

本文版权:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!