基本命令

在运维工作中,常用的命令主要涉及 系统监控、日志分析、网络排查、服务管理、安全审计 等场景。以下分类总结高频命令,适合 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 等专用命令。如果需要更详细的场景示例,可以告诉我! 🔧

posted @ 2025-05-22 14:29  小yangzz  阅读(22)  评论(0)    收藏  举报