说实话,运维这行干久了你会发现,命令顺不顺手,真的直接影响你排障的速度——甚至影响你当天下班的时间。这份手册是我把日常最常用的操作整理了一遍,不求全,但求用得上。建议收藏,遇到事了直接翻。
接手一台新机器,第一件事就是摸清底细,别急着干活。
uname -a # 内核版本cat /etc/os-release # 系统发行版信息hostnamectl # 主机名 + 系统概览uptime # 运行时长 + 当前负载CPU 这块,lscpu 看个大概就够了,想深挖再去翻 /proc/cpuinfo,一般情况用不着那么细。
lscpucat /proc/cpuinfompstat -P ALL # 各核心实时使用率,排查 CPU 不均衡时很好用内存的话,free -h 是最常用的,简单直接。htop 我个人更喜欢,颜色好看,信息也全,装了就别卸。
free -hcat /proc/meminfohtop磁盘与挂载,df -hT 是必会的,lsblk 看块设备结构,findmnt 用得少但偶尔挺有用。
df -hTlsblkmount | column -tfindmnt这部分没什么好说的,基本功,天天用。
ls -lhtouch filemkdir -p dir/subdir # -p 这个参数别忘,省事cp -a src dst # 保留属性,迁移文件首选mv old newrm -rf dir # 这个命令用之前多想一秒,真的查找和统计,find 是个好东西,就是参数多,记不住很正常,用的时候查一下就行。
find / -name "*.log"du -sh * # 看哪个目录占地方,排查磁盘满了必用wc -l filestat file权限这块,说实话很多人只记得 chmod 755 和 644,其实够用了。
chmod 755 filechmod -R 644 dirchown user:group fileid username权限速记:r=4 w=2 x=1,755 就是 rwx r-x r-x,644 是 rw- r-- r--,背不下来就这样推算。
useradd usernamepasswd usernameusermod -aG wheel username # 加 wheel 组,RHEL 系给 sudo 权限用这个userdel -r username # -r 会连家目录一起删,注意su - usernamewhoami / who / lastsudo 免密这个配置,生产环境要谨慎,测试环境随意。
visudo# 加这一行username ALL=(ALL) NOPASSWD:ALL进程查看这几个命令,ps aux 和 grep 配合用是最常见的姿势。
ps auxps -ef | grep nginxtophtop杀进程,正常情况用 kill PID 就够了,kill -9 是最后手段,别动不动就 -9。
kill PIDkill -9 PIDpkill nginxsystemd 这套,现在基本是标配了,记住这几个就行:
systemctl start/stop/restart/status nginxsystemctl enable nginx # 开机自启,新部署服务别忘了加这个systemctl disable nginxsystemctl list-units --type=service这一块,坦白讲是运维日常出现频率最高的场景。端口不通、服务起不来、网络抖动,基本都要用到这些。
ip aip routenmcli device status端口监听,ss 比 netstat 快,新系统推荐用 ss,老系统 netstat 也没问题。
ss -lntupnetstat -lntuplsof -i:80 # 找占用 80 端口的进程,直接用这个连通性测试,ping 是最基础的,curl -I 测 HTTP 响应很好用,traceroute 排查路由问题。
ping 8.8.8.8traceroute www.baidu.comcurl -I http://127.0.0.1抓包,tcpdump 这个工具,不用每天用,但关键时刻能救命。
tcpdump -i eth0 -nn port 80tcpdump -i any host 1.1.1.1fdisk -lparted /dev/sdb # GPT 分区用 parted,fdisk 对大磁盘支持不太好mkfs.ext4 /dev/sdb1fsck -y /dev/sdb1 # 修复文件系统,记得先卸载LVM 这套,扩容是最常用的场景,顺序别搞错:
pvcreate /dev/sdbvgcreate vgdata /dev/sdblvcreate -L 10G -n lvdata vgdatalvextend -L +5G /dev/vgdata/lvdataresize2fs /dev/vgdata/lvdata # 最后这步别忘,不然空间还是没扩进去出了问题先看日志,这是铁律,不管什么情况先看日志再说。
journalctl -xe # 出问题第一时间跑这个journalctl -u nginx # 看某个服务的日志journalctl --since "1 hour ago"# 只看最近一小时,日志太多的时候很有用常见日志路径,记几个最常用的就行:
tail -f /var/log/messages # 实时跟踪,排障时开着挺好用tail -n 100 file.logRHEL 系现在基本都用 dnf 了,yum 也还能用,底层其实差不多。
dnf install nginxdnf remove nginxdnf list installeddnf provides */netstat # 不知道某个命令在哪个包里,用这个查Ubuntu / Debian:
apt update # 装东西之前先 update,这个习惯要有apt install nginxapt remove nginxapt list --installedfirewalld,RHEL 系默认的,--permanent 参数别忘,不加的话重启就没了。
firewall-cmd --statefirewall-cmd --list-allfirewall-cmd --add-port=80/tcp --permanentfirewall-cmd --reloadiptables,老系统还在用,iptables -F 清空规则这个操作要小心,远程操作的话可能把自己踢出去。
iptables -L -niptables -F # 谨慎iptables -A INPUT -p tcp --dport 22 -j ACCEPTSELinux,很多人遇到莫名其妙的权限问题,第一反应是 setenforce 0,这个能解决问题但不是好习惯,生产环境还是要搞清楚原因。
getenforcesetenforce 0semanage port -lcrontab 格式:分 时 日 月 周 命令,记不住就用在线工具生成,没什么丢人的。
crontab -ecrontab -l0 2 * * * /usr/bin/backup.sh # 每天凌晨 2 点跑备份at 用得少,但偶尔需要一次性定时任务的时候挺方便:
at 23:00atqatrm 1top / htopiostat -x 1 # 磁盘 I/O 有问题,先跑这个vmstat 1sar -u 1 # 看 CPU 历史,比 top 更适合回溯问题排障思路,我觉得这个顺序挺重要,很多人上来就看应用日志,其实应该先从系统层面往下走:
负载 → CPU → 内存 → 磁盘 → 网络 → 应用 → 日志
按这个顺序来,基本不会走太多弯路。
这几个组合,说实话比单个命令更实用,直接背下来。
# 找出占用 80 端口的进程ss -lntup | grep :80# 找超过 1G 的大文件,磁盘快满了先跑这个find / -type f -size +1G# 查登录失败记录,服务器被扫的时候看这个lastb# 快速看服务器整体状态,接手新机器或者出问题时第一步uptime && free -h && df -h# 看某个进程的实时资源占用top -p $(pgrep nginx | head -1)# 统计 Nginx 日志里各 IP 的请求次数,排查异常流量用awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20最后说一句,命令记不住真的没关系,理解背后的逻辑才是关键。遇到问题先判断方向,再找对应的命令,比死记硬背有效得多。
这份手册觉得有用的话收藏转发,有补充的命令欢迎留言。
另外我给大家整理了一些技术资料有需要直接下载即可


链接:https://pan.quark.cn/s/bc5c2c2700f8
需要什么资料也可在评论区留言
或者添加小编咨询

1、告别单点故障!Linux双网卡绑定实战,让故障自动“绕行”
2、Linux服务器太慢?8个系统优化技巧让性能飙升(运维必看)
看完本文有收获?请分享给更多人
推荐关注「Linux 运维进阶之路」,提升Linux技能
