系统管理入门——了解你的系统
内容提要
本文介绍系统管理常用命令:用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套接字。