一、系统监控与性能优化

  1. 实时监控系统资源

top          # 实时进程监控(按 P 按 CPU 排序,按 M 按内存排序)
htop         # 更友好的交互式监控工具(需安装)
vmstat 1     # 每秒输出系统资源使用情况(CPU、内存、IO)
sar          # 系统活动报告工具(需安装 sysstat)
  1. 快速查看系统负载

uptime       # 显示系统负载(1/5/15 分钟平均)
free -h      # 查看内存使用(-h 自动转换单位)
df -Th       # 查看磁盘空间及文件系统类型
iostat       # 监控磁盘 I/O 性能
  1. 查找资源占用高的进程

ps aux --sort=-%cpu | head -n 10  # 按 CPU 使用率排序前 10 的进程
ps aux --sort=-%mem | head -n 10  # 按内存使用率排序前 10 的进程

二、日志分析与排查

  1. 查看实时日志

tail -f /var/log/syslog        # 实时跟踪日志文件
journalctl -f -u nginx.service # 跟踪 systemd 服务的日志(如 Nginx)
  1. 快速搜索日志关键词

grep "ERROR" /var/log/syslog           # 搜索包含 "ERROR" 的行
grep -A 5 -B 5 "panic" dmesg.log       # 显示匹配行的前后 5 行
zgrep "404" /var/log/nginx/access.log* # 搜索压缩过的日志文件
  1. 统计日志中的高频错误

awk '/ERROR/{print $5}' app.log | sort | uniq -c | sort -nr

三、自动化与快捷操作

  1. 定时任务管理

crontab -e          # 编辑定时任务
crontab -l          # 查看当前用户的定时任务
systemctl list-timers  # 查看 systemd 定时器
  1. 批量操作文件

find /var/log -name "*.log" -mtime +7 -exec rm {} \;  # 删除 7 天前的日志
chmod -R 755 /data          # 递归修改目录权限
sed -i 's/old/new/g' *.txt  # 批量替换文本内容
  1. 快速生成大文件或测试磁盘速度

dd if=/dev/zero of=testfile bs=1G count=1   # 生成 1GB 测试文件
hdparm -Tt /dev/sda        # 测试磁盘读取速度

四、网络与连接管理

  1. 查看网络状态

ss -tulnp        # 查看监听的端口和进程(比 netstat 更高效)
netstat -natp    # 查看 TCP 连接状态
lsof -i :80      # 查看占用 80 端口的进程
  1. 快速测试连通性

curl -I http://example.com    # 仅显示 HTTP 响应头
mtr example.com               # 实时网络路由跟踪(结合 ping + traceroute)
tcping -p 443 example.com     # 测试 TCP 端口连通性(需安装)

五、安全与权限管理

  1. 用户权限控制

visudo           # 安全编辑 sudoers 文件(避免直接修改)
chmod 600 ~/.ssh/authorized_keys  # 保护 SSH 密钥文件
  1. SSH 相关技巧

ssh -o "StrictHostKeyChecking=no" user@host  # 跳过 SSH 主机验证提示
ssh-copy-id user@host          # 一键部署公钥到远程主机
ssh -L 8080:localhost:80 user@host  # 本地端口转发

六、实用小工具

  1. 快速查看系统信息

uname -a             # 内核版本
lsb_release -a       # 发行版信息
lscpu                # CPU 详细信息
lsblk                # 磁盘分区信息
  1. 替代常用命令的增强工具

ncdu          # 交互式磁盘空间分析(替代 du)
ag            # 快速代码搜索(替代 grep)
jq            # 命令行 JSON 处理工具
  1. 终端复用

tmux          # 多窗口终端复用,防止 SSH 断开后任务终止
screen        # 类似 tmux 的终端复用工具

七、故障排查思路

  1. 磁盘空间不足时

du -sh /* 2>/dev/null | sort -rh | head -n 10  # 查找根目录下占用最大的目录
lsof +L1        # 查看被删除但仍被进程占用的文件
  1. CPU 负载高

pidstat 1       # 查看进程的 CPU 使用率(需安装 sysstat)
perf top        # 实时分析 CPU 开销(需安装 perf)
  1. 内存泄漏排查

smem -s swap -r  # 查看进程的内存和 Swap 使用
valgrind --leak-check=full ./your_program  # 检测程序内存泄漏

八、其他技巧

  1. 历史命令优化

!!        # 重复上一条命令
!$        # 上一条命令的最后一个参数
Ctrl+R    # 搜索历史命令
  1. 快速生成随机密码

openssl rand -base64 12    # 生成 12 位随机密码
  1. 避免误删文件

alias rm='rm -i'       # 删除前确认(添加到 ~/.bashrc)