Linux系统信息查看命令大全与实用技巧

Linux系统信息查看命令大全与实用技巧 1. Linux系统信息查看的必要性作为一名Linux系统管理员或开发者掌握系统硬件和软件信息是日常工作的基本功。无论是排查性能问题、评估服务器配置还是编写兼容性脚本都需要快速准确地获取系统各项参数。记得我刚接触Linux运维时面对一台陌生的服务器常常手足无措——不知道CPU型号就无法判断计算能力不清楚内存大小就难以评估应用部署方案不了解磁盘配置可能导致存储规划失误。这些基础信息的缺失会让后续所有工作都变成盲人摸象。2. 核心系统信息查看命令2.1 uname - 系统内核信息uname命令是获取系统核心信息的瑞士军刀。我最常用的组合是uname -a这个命令会输出完整信息Linux myserver 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux各参数含义-a显示所有信息-s只显示内核名称Linux-r内核发行版本5.4.0-135-generic-v内核版本#152-Ubuntu SMP...-m机器硬件名称x86_64-p处理器类型x86_64-i硬件平台x86_64-o操作系统GNU/Linux提示在编写跨平台脚本时建议使用uname -m判断系统架构比直接假设x86_64更可靠。2.2 lsb_release - 发行版信息不同Linux发行版的软件包管理和系统配置差异很大快速识别发行版信息至关重要lsb_release -a典型输出Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: 20.04 Codename: focal如果没有安装lsb-release包常见于最小化安装可以查看/etc/*release文件cat /etc/*release3. 硬件信息深度探查3.1 lscpu - CPU详细信息评估服务器计算能力时lscpu命令提供的信息最为全面lscpu输出示例Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i7-7700HQ CPU 2.80GHz Stepping: 9 CPU MHz: 900.022 CPU max MHz: 3800.0000 CPU min MHz: 800.0000 BogoMIPS: 5616.00 ...关键指标解读CPU(s)逻辑CPU总数核心数×线程数Thread(s) per core每个核心的线程数超线程技术Model name具体CPU型号和基准频率CPU max MHzCPU最大睿频3.2 free - 内存使用情况内存监控是性能分析的第一步free命令的-h参数最实用free -h人性化输出total used free shared buff/cache available Mem: 15Gi 4.2Gi 2.1Gi 512Mi 8.7Gi 10Gi Swap: 2.0Gi 1.0Gi 1.0Gi重要字段available实际可用内存比free更准确包含可回收的缓存buff/cache磁盘缓存使用的内存必要时可被释放经验当available内存接近total的10%时就需要考虑优化或扩容了。3.3 df - 磁盘空间检查磁盘空间监控的黄金命令df -hT输出示例Filesystem Type Size Used Avail Use% Mounted on /dev/nvme0n1p2 ext4 457G 123G 311G 29% / tmpfs tmpfs 7.8G 2.1M 7.8G 1% /dev/shm /dev/nvme0n1p1 vfat 511M 6.3M 505M 2% /boot/efi参数说明-h人类可读格式GB/MB-T显示文件系统类型Use%使用率警告阈值通常设为80%3.4 lsblk - 块设备拓扑查看磁盘物理结构和分区情况lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT示例输出NAME FSTYPE SIZE MOUNTPOINT nvme0n1 465.8G ├─nvme0n1p1 vfat 512M /boot/efi ├─nvme0n1p2 ext4 464.3G / └─nvme0n1p3 swap 976M [SWAP]这个命令特别适合理清多磁盘系统的挂载关系。4. 高级硬件诊断工具4.1 dmidecode - 硬件解码需要root权限的硬件信息核武器sudo dmidecode -t memory # 查看内存详情 sudo dmidecode -t system # 查看系统信息 sudo dmidecode -t bios # 查看BIOS信息输出示例内存部分Handle 0x1000, DMI type 16, 23 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 32 GB Number Of Devices: 2 Handle 0x1100, DMI type 17, 40 bytes Memory Device Array Handle: 0x1000 Total Width: 64 bits Data Width: 64 bits Size: 8192 MB Form Factor: SODIMM ...4.2 lshw - 硬件清单综合硬件报告工具sudo lshw -short简明输出H/W path Device Class Description system Inspiron 5570 /0 bus 0CNDH8 /0/0 memory 128KiB BIOS /0/4 processor Intel(R) Core(TM) i7-8550U CPU 1.80GHz /0/4/5 memory 32KiB L1 cache /0/4/6 memory 256KiB L2 cache /0/4/7 memory 8MiB L3 cache /0/3e memory 16GiB System Memory /0/3e/0 memory 8GiB SODIMM DDR4 Synchronous 2400 MHz (0.4 ns) ...完整报告可导出为HTMLsudo lshw -html hardware.html5. 实时监控与性能工具5.1 top/htop - 进程监控经典的top命令和它的增强版htoptop -c # 显示完整命令 htop # 需要额外安装支持颜色和鼠标操作关键指标%CPU进程CPU占用率%MEM进程内存占用率RES实际物理内存使用量VIRT虚拟内存使用量5.2 iostat - 磁盘I/O监控诊断磁盘性能瓶颈iostat -x 1 # 每秒刷新一次扩展信息重要字段%util设备利用率接近100%表示饱和await平均I/O等待时间毫秒svctm平均服务时间5.3 vmstat - 系统状态概览快速查看系统整体状态vmstat 1 # 每秒刷新一次输出示例procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 2178244 101044 8938120 0 0 2 1 1 1 8 2 89 1 0关键指标r运行队列长度理想值小于CPU核心数swpd使用的交换空间waI/O等待CPU时间百分比6. 网络配置信息6.1 ifconfig/ip - 网络接口传统工具和现代替代方案ifconfig # 传统命令 ip addr show # 推荐新方式输出包含接口名称eth0, ens33等MAC地址IPv4/IPv6地址接收/发送数据包统计6.2 netstat/ss - 网络连接查看活动连接和监听端口netstat -tulnp # 传统方式 ss -tulnp # 更快更现代的替代常用参数组合-tTCP连接-uUDP连接-l监听中的端口-n显示数字地址-p显示进程信息7. 环境变量与系统路径7.1 env - 环境变量查看当前环境变量env | less关键变量PATH可执行文件搜索路径HOME用户主目录LANG系统语言设置USER当前用户名7.2 which/whereis - 命令定位查找命令的安装位置which python3 whereis python3区别which只返回PATH中找到的第一个可执行文件whereis同时查找手册页和源代码位置8. 实用信息组合命令8.1 系统概览脚本将关键信息整合到一个命令中echo System Info uname -a echo \n CPU Info lscpu | grep -E Model name|CPU(s) echo \n Memory Info free -h echo \n Disk Info df -hT echo \n Uptime uptime8.2 硬件信息报告生成完整的硬件报告{ echo SYSTEM REPORT date echo \n----- CPU ----- lscpu echo \n----- Memory ----- sudo dmidecode -t memory echo \n----- Disks ----- lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT echo \n----- Network ----- ip addr show } system_report.txt9. 命令使用技巧与注意事项权限管理许多硬件信息命令如dmidecode、lshw需要root权限普通用户使用时需要sudo前缀信息缓存部分命令如dmidecode直接从内存读取信息不需要访问实际硬件因此可以在任何状态下运行输出过滤结合grep快速定位关键信息lscpu | grep Model name定时监控使用watch命令实时刷新watch -n 1 free -h信息记录重要变更前后记录系统状态便于对比# 变更前 lshw -short hardware_before.txt # 变更后 lshw -short hardware_after.txt diff hardware_before.txt hardware_after.txt跨平台差异不同Linux发行版可能有些命令参数略有不同建议先查看man手册man lsblk信息准确性虚拟化环境中如VMware、KVM部分硬件信息可能显示为虚拟设备信息而非物理硬件掌握这些命令组合和技巧你就能像专业系统管理员一样全面掌控Linux系统的各项参数为后续的系统优化、故障排查和应用部署打下坚实基础。