基本命令
在运维工作中,常用的命令主要涉及 系统监控、日志分析、网络排查、服务管理、安全审计 等场景。以下分类总结高频命令,适合 Linux/Unix 系统运维人员:
系统监控与性能分析
top / htop
实时查看进程资源占用(CPU、内存等),htop 更直观。
df -h
检查磁盘空间(-h 人类可读格式)。
free -h
查看内存和 Swap 使用情况。
iostat -x 1
监控磁盘 I/O 和 CPU 负载(1 秒刷新)。
vmstat 1
查看系统进程、内存、I/O 等实时状态。
sar -u -r 1
历史性能数据统计(需安装 sysstat)。
nmon
综合性能监控工具(需单独安装)。
日志分析
tail -f /var/log/nginx/error.log
实时追踪日志文件(Nginx 示例)。
grep -i "error" /var/log/syslog
过滤日志中的关键词(-i 忽略大小写)。
journalctl -u nginx --since "2024-01-01"
查看 systemd 服务的日志(按时间筛选)。
awk '{print $1}' access.log sort uniq -c
sort -nr
统计访问日志的 IP 频次。
logrotate -f /etc/logrotate.conf
手动触发日志轮转。
网络排查
ping example.com
测试网络连通性。
traceroute example.com
追踪路由路径。
netstat -tulnp
查看监听的端口和对应进程(旧版)。
ss -tulnp
更现代的端口监听查看工具(替代 netstat)。
tcpdump -i eth0 port 80 -w capture.pcap
抓取网络包并保存(需 tcpdump)。
dig example.com 或 nslookup example.com
DNS 解析查询。
iptables -L -n -v
查看防火墙规则(旧版)。
nft list ruleset
查看 nftables 防火墙规则(新版)。
服务管理
systemctl startstop
restart nginx
管理 systemd 服务(启/停/重启)。
systemctl enable nginx
设置服务开机自启。
systemctl status nginx
查看服务状态和日志片段。
ps aux | grep nginx
查找进程信息。
kill -9 PID
强制终止进程(慎用 -9)。
crontab -e
编辑定时任务。
文件与权限管理
chmod 600 /path/to/file
修改文件权限(仅所有者可读写)。
chown user:group /path/to/file
修改文件所有者/组。
lsblk 或 fdisk -l
查看磁盘分区信息。
mount /dev/sdb1 /mnt
挂载磁盘分区。
umount /mnt
卸载挂载点。
rsync -avz /src/ user@host:/dst/
增量同步文件(支持远程)。
安全审计
last 或 lastb
查看登录成功/失败记录。
who 或 w
查看当前登录用户。
find / -perm -4000 2>/dev/null
查找 SUID 权限文件(提权风险)。
openssl s_client -connect example.com:443
检查 SSL 证书信息。
fail2ban-client status
查看 Fail2Ban 封禁记录(防暴力破解)。
常用工具链
tmux 或 screen
终端多会话管理(防止 SSH 断开任务终止)。
ansible all -m ping
Ansible 批量主机连通性测试。
tar -xzvf backup.tar.gz
解压 .tar.gz 文件。
scp file.txt user@remote:/path/
通过 SSH 安全传输文件。
curl -I http://example.com
获取 HTTP 响应头(调试 Web 服务)。
紧急场景
dmesg | tail -20
查看内核日志(排查硬件/驱动问题)。
strace -p PID
追踪进程系统调用(调试卡死问题)。
lsof -i :80
查看占用 80 端口的进程。
dd if=/dev/zero of=/swapfile bs=1M count=2048
快速创建 Swap 文件(内存不足时临时缓解)。
附:一键检查脚本
!/bin/bash
echo "= System Info ="
uname -a
echo -e "\n= Disk Space ="
df -h
echo -e "\n= Memory Usage ="
free -h
echo -e "\n= Top Processes ="
top -b -n 1 | head -10
根据你的具体需求(如云原生、数据库运维等),可进一步补充 kubectl、mysql、redis-cli 等专用命令。如果需要更详细的场景示例,可以告诉我! 🔧

浙公网安备 33010602011771号