Linux 日常运维常用命令【分类汇总】

教程笔记 wes 23 days ago (2026-07-02) 6 views

简介

适用场景:服务器巡检、故障排查、日常维护
适用系统:CentOS / Rocky / AlmaLinux / Ubuntu 通用(包管理器命令已单独标注)

 


一、系统基础信息 & 开机巡检

目标:登录服务器后第一时间收集系统身份、时间、负载和登录用户信息。

命令 功能说明 备注
uname -a 显示内核完整信息(版本、硬件架构)
hostname / hostnamectl 查看/修改主机名 hostnamectl 还可看系统版本、内核
cat /etc/os-release 查看发行版信息(CentOS/Ubuntu 通用) 比 lsb_release -a 更可靠
uptime 运行时长、登录用户数、系统平均负载 (1/5/15分钟)
who / w 查看当前登录用户及其终端、IP、执行命令
last / lastlog 登录历史 / 所有用户最后登录时间 排查异常登录
date / timedatectl 查看系统时间 / 时区及 NTP 同步状态 时间不同步会导致认证失败
reboot / shutdown -r now 重启系统 shutdown -h now 为关机

二、CPU、内存、负载监控

目标:定位 CPU 瓶颈、内存泄漏,判断系统整体健康度。

命令 功能说明 常用示例 / 备注
top 实时进程资源占用(CPU/内存) 按 P 按 CPU 排序,按 M 按内存排序
htop 增强版 top(彩色、鼠标操作) 需安装 (yum/apt install htop)
vmstat 1 系统整体状态(进程、内存、swap、IO、系统中断) 每秒刷新,关注 si/so (swap换入换出)
mpstat -P ALL 1 查看每个 CPU 核心的占用率 需安装 sysstat,定位单核热点
free -h 内存及 swap 使用概况(人类可读) 重点关注 available 可用内存
cat /proc/meminfo 查看最详细的内存内核信息 排查内存参数时使用
lscpu 查看 CPU 硬件信息(核数、架构、频率)
sar -u 1 10 / sar -r 1 历史/实时 CPU 统计 / 内存统计 强大的历史数据采集工具(需安装 sysstat)
💡 负载参考:单核 Load < 1 正常;N 核服务器 Load 持续 > N 说明过载,需排查。

三、磁盘、文件系统与 I/O 排查

目标:防止磁盘写满、inode 耗尽,定位 I/O 读写缓慢的罪魁祸首。

命令 功能说明 常用示例 / 备注
df -h 查看磁盘分区使用率(容量)
df -i 查看 inode 使用率 inode 满时无法创建文件/目录,服务会报错
du -sh * / du -sh /var/log/* 统计当前目录 / 指定目录各文件/文件夹大小 定位大日志目录的利器
lsblk / fdisk -l / parted -l 查看硬盘分区、块设备信息 parted -l 支持查看 GPT 分区表
mount / umount 查看已挂载分区 / 卸载文件系统
blkid 查看磁盘分区的 UUID(挂载时常用)
iotop 实时查看各进程的磁盘读写速度(IOPS) 需安装,定位哪个进程在狂写磁盘
iostat -x 1 查看磁盘 I/O 负载、吞吐量、队列长度 重点关注 %iowait(等待 I/O 的 CPU 占比)

四、网络排查(运维高频)

目标:测试连通性、查看端口监听、追踪路由、抓包分析。

命令 功能说明 常用示例 / 备注
ip addr / ip route 查看网卡 IP 地址 / 路由表 优先使用 ip 命令,替代旧版 ifconfig/route
ss -tulnp 查看所有监听端口及其对应进程 强烈推荐,替代 netstat,速度更快
ss -ant 查看所有 TCP 连接状态 排查大量 TIME_WAIT 连接
ping -c 4 <IP> 测试网络连通性与延迟
traceroute <IP> / mtr <IP> 路由追踪 / 动态路由+丢包率综合排查 mtr 是网络质量问题排查神器
curl -v <URL> / wget <URL> 测试 HTTP/HTTPS 接口连通性
nc -zv <IP> <端口> 测试指定端口的 TCP 连通性(端口敲门)
tcpdump -i any port 80 -nn 抓取指定网卡/端口的网络包 排查协议交互问题
cat /etc/resolv.conf 查看 DNS 配置
dig <域名> / nslookup 测试域名解析是否正常

五、进程与服务管理

目标:管理运行中的程序,优雅或强制停止异常进程。

命令 功能说明 常用示例 / 备注
ps aux / ps -ef 列出所有进程(快照) ps aux --sort=-%cpu 按 CPU 倒序
pstree 以树状图显示进程父子关系 查看进程启动来源
kill <PID> / kill -9 <PID> 正常终止 / 强制杀死进程 -9 是最后手段,可能导致数据损坏或句柄残留
pkill <进程名> / pgrep <进程名> 按进程名杀进程 / 查询进程 PID 例:pkill nginx
nice / renice 调整进程优先级 让非关键任务让出 CPU 资源
systemctl status <服务> 查看服务当前运行状态及最近日志
systemctl start/stop/restart <服务> 启/停/重启服务
systemctl reload <服务> 平滑重载服务配置(不中断连接) 对 Nginx、HAProxy 等 Web 服务特别重要
systemctl enable/disable <服务> 设置/取消服务开机自启

六、用户与权限管理

目标:增删用户、管理文件读写执行权限。

命令 功能说明 备注
useradd <用户名> / userdel -r <用户名> 创建用户 / 删除用户及其家目录
passwd <用户名> 设置或修改用户密码
groupadd <组名> 创建用户组
id <用户名> 查看用户的 UID、GID 及所属组
chmod 755 <文件> 修改文件权限(读=4,写=2,执行=1) 目录需要有执行权限才能进入
chown <用户>:<组> <文件> / chown -R 修改文件属主 / 递归修改目录
su - <用户名> / sudo -i 切换用户环境 / 切换到 root

七、文件操作、查找与文本处理

目标:日常文件增删改查、日志内容过滤。

命令 功能说明 常用示例 / 备注
ls -lh / mkdir -p / rm -rf 列出文件、创建目录、删除目录 rm -rf 前务必 pwd 确认路径
cp -r / mv / ln -s 复制、移动/重命名、创建软链接
find / -name "*.log" 按文件名查找
find /var -size +100M 查找大于 100MB 的文件
find . -type f -mtime +7 -delete 删除 7 天前修改过的文件(清理日志)
grep "关键词" <文件> / grep -r "关键词" /etc/ 在文件中搜索 / 递归目录搜索 常用 -i 忽略大小写,-A 5 显示后5行
less / more / head -n / tail -n 分页查看大文件 / 查看文件头尾 tail -f 实时跟踪;tail -F 支持日志轮转后继续
awk '{print $1}' <文件> 提取文本的某一列 分析日志格式的利器
sed 's/old/new/g' <文件> 文本替换(输出到屏幕) 加 -i 直接修改文件

八、日志查看(故障排查核心)

目标:快速定位系统、服务、内核报错信息。

日志位置/命令 功能说明 备注
journalctl -u <服务名> 查看 systemd 托管服务的日志 加 -f 实时跟踪,加 --since "1 hour ago"
/var/log/messages CentOS/Rocky 系统通用日志
/var/log/syslog Ubuntu 系统通用日志
/var/log/secure CentOS/Rocky 安全日志(SSH 登录、sudo)
/var/log/auth.log Ubuntu 认证/安全日志
dmesg -T 查看内核环形缓冲区日志(带时间戳) 查看硬件报错、OOM Killer(内存溢出杀进程)
tail -f /var/log/nginx/access.log 实时查看 Web 访问日志 结合 grep 过滤特定 URL

九、软件包管理(按发行版区分)

目标:安装、卸载、更新软件包。

发行版 常用命令 说明
CentOS/Rocky/AlmaLinux (RPM系) yum install <包名> / yum remove yum update 更新所有包
rpm -ivh <包名>.rpm 安装本地 .rpm 文件
Ubuntu/Debian (DEB系) apt update / apt install <包名> apt upgrade 更新所有包
dpkg -i <包名>.deb 安装本地 .deb 文件

十、压缩解压与同步备份

目标:文件打包传输、异地数据同步。

命令 功能说明 常用示例
tar -zcvf <归档名>.tar.gz <源> 打包并压缩成 gzip 格式
tar -zxvf <归档名>.tar.gz 解压 gzip 格式 加 -C /目标目录 指定解压路径
zip -r <归档名>.zip <源> / unzip <归档名>.zip zip 格式打包/解压 用于 Windows 兼容场景
rsync -avz <源> <目标> 高效的文件同步(增量、支持远程) 备份利器,如 rsync -avz /data/ root@ip:/backup/
scp <本地文件> <用户>@<IP>:<路径> 基于 SSH 的远程拷贝

十一、定时任务

目标:周期性执行脚本(日志切割、数据备份)。

命令 功能说明 备注
crontab -l / crontab -e 查看/编辑当前用户的定时任务
crontab -r 清空定时任务 谨慎操作
ls /etc/cron.* 查看系统全局的定时任务目录(如 cron.daily

十二、系统安全与敏感检查

目标:快速发现异常账号、开放端口、历史命令。

命令 功能说明 备注
cat /etc/passwd 查看系统所有账号
grep "/bin/bash" /etc/passwd 筛选拥有登录 Shell 的用户 排查是否存在异常管理员
ss -tulnp 再次检查对外监听端口 确保没有未授权的服务暴露
history 查看当前用户执行过的命令历史 排查是否有人执行了高危操作
chattr +i <文件> / chattr -i 锁定文件(无法删除/修改)/ 解锁 保护关键配置文件

十三、一键组合巡检(运维脚本片段)

将最核心的指标打印出来,适合每天登录后第一件事:

bash
echo "========== 系统负载 & 运行时间 ==========" uptime echo "========== 内存使用情况 ==========" free -h echo "========== 磁盘分区使用率 ==========" df -h echo "========== 监听中的关键端口 ==========" ss -tulnp | grep -E ':(80|443|22|3306|6379)'

💡 运维避坑小贴士(总结)

  1. 命令的新旧替代:优先使用 ip 代替 ifconfigss 代替 netstatjournalctl 管理日志。 3y4.net

  2. 删除前确认:生产环境执行 rm -rf 前,先用 ls 看一眼目录内容,或者先 mv 到 /tmp 暂存。

  3. 谨慎使用 kill -9:这会强制终止进程,可能导致文件句柄未释放、数据库事务异常。优先用 kill -15 或 systemctl stop 优雅停止。

  4. 定位 I/O 高:先用 iostat -x 1 看整体,再用 iotop 定位具体进程。

  5. 网络问题:先 ping 测通断,再 mtr 看路由和丢包,最后 tcpdump 抓包分析。

  6. 程序崩溃:首先看 dmesg -T 末尾,确认是否被 OOM Killer 杀死。

这套融合后的清单基本覆盖了日常运维 90% 的场景。