系统管理入门——了解你的系统

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

本文介绍系统管理常用命令:用uname、nproc、lscpu查看系统与CPU信息;用df、/proc/partitions和/proc/mounts查看磁盘;用/proc/meminfo或free -m查看内存;用last、w、uptime、ps、top/htop查看用户活动与进程,并可用ps配合awk、grep查找僵尸进程;网络方面用curl获取公网IP,ping测试连通性,用ifconfig、lsof、ss -s查看网络接口与连接。

🔎

延伸解读

从 /proc 文件系统理解系统信息

文章多次使用 /proc/partitions、/proc/mounts 和 /proc/meminfo 来查看磁盘与内存信息,这体现了 Unix“一切皆文件”的设计理念。通过直接读取 /proc 下的虚拟文件,管理员可以获取内核暴露的原始数据,而不依赖额外工具。这种方式的优势在于轻量且通用,但输出格式较原始,适合脚本处理或深入排查时使用。

僵尸进程的查找与清理

文章给出了一条组合命令:ps aux | awk '{ print $8 " " $2 }' | grep -w Z,用于筛选出状态为 Z 的僵尸进程及其 PID。僵尸进程本身不消耗 CPU 或内存,但会占用进程表项,数量过多可能影响新进程创建。找到后可用 kill -9 尝试清理,但需注意僵尸进程通常需要其父进程回收,单纯 kill 可能无效。

网络诊断工具的选择与安全考量

文章提到用 curl icanhazip.com 或 curl ifconfig.me 获取公网 IP,并称前者更快;ping 用于测试连通性;ifconfig 查看接口信息;lsof 和 ss -s 分析网络连接。此外,作者建议出于安全原因尽量不要使用非内置命令,但若确实需要,htop 是 top 的更好替代。这提示管理员在便利性与安全性之间需做权衡。

❓

Q&A

如何查看Linux系统的整体信息?

使用uname -a命令可以打印所有系统信息。

怎么查看CPU的核心数和架构信息?

使用nproc命令可以查看可用的处理单元数量,使用lscpu命令可以显示CPU架构信息。

如何检查磁盘分区和挂载情况?

可以使用df -h /path/to/directory查看磁盘使用情况,也可以查看/proc/partitions和/proc/mounts文件来检查分区和挂载的磁盘。

怎样查看内存使用情况?

可以查看/proc/meminfo文件,或者使用free -m命令以兆字节为单位显示内存信息(-g为千兆字节,-k为千字节)。

如何查看当前登录用户的活动和系统运行时间?

使用last命令显示用户登录信息,last username查看特定用户活动;w命令显示当前登录用户及其正在执行的命令;uptime命令显示系统运行时间。

如何查找并杀死僵尸进程?

使用ps aux | awk '{ print $8 " " $2 }' | grep -w Z命令列出僵尸进程的PID,然后使用kill -9 {PID}杀死它们。

如何获取本机的公网IP地址?

可以使用curl icanhazip.com或curl ifconfig.me命令获取公网IP,其中前者速度更快。

如何查看网络连接和端口使用情况?

使用lsof -i列出所有打开的网络文件,lsof -iTCP仅显示TCP连接,lsof -i:80显示与端口80相关的连接,lsof -i@IP显示特定IP的连接,lsof -u username显示指定用户的连接,lsof -u ^username显示除指定用户外的连接;使用ss -s显示当前已建立、关闭、孤立和等待的TCP套接字。

🏷️

标签

➡️

继续阅读