1. 系统监控与性能分析

进程管理

  • htop
    交互式进程查看器(比 top 更直观)

    htop -u root  # 仅显示root用户的进程
    
  • pidstat
    监控进程资源使用(CPU、内存、IO)

    pidstat -d 2 5  # 每2秒统计一次磁盘IO,共5次
    
  • lsof
    查看文件与进程关联信息

    lsof -i :80      # 查看占用80端口的进程
    lsof /var/log    # 查看正在访问日志文件的进程
    

系统资源

  • vmstat
    虚拟内存统计(内存、CPU、磁盘、中断)

    vmstat 1 10  # 每秒1次,共10次
    
  • iostat
    I/O设备监控(磁盘吞吐、延迟)

    iostat -x 2  # 每2秒显示扩展磁盘统计
    
  • sar
    系统活动报告(需安装 sysstat

    sar -n DEV 1 3  # 网络接口统计
    

2. 网络诊断与调试

  • ss
    替代 netstat,显示更详细的套接字信息

    ss -tulnp       # 查看所有监听端口
    ss -o state established '( dport = :443 )'  # 筛选已建立的HTTPS连接
    
  • tcpdump
    网络抓包分析

    tcpdump -i eth0 port 22  # 捕获eth0网卡的SSH流量
    tcpdump -w capture.pcap  # 保存为pcap文件
    
  • mtr
    网络路由追踪(结合 tracerouteping

    mtr -n -i 0.5 google.com  # 禁用DNS解析,间隔0.5秒
    

3. 文本处理与正则表达式

高级文本工具

  • awk
    数据提取与报表生成

    awk '{print $1, $NF}' access.log     # 输出每行首尾字段
    awk '/ERROR/ {count++} END {print count}' app.log  # 统计ERROR出现次数
    
  • sed
    流编辑器(批量替换、删除行)

    sed -i.bak 's/foo/bar/g' *.txt      # 替换并备份原文件
    sed -n '10,20p' file.log            # 仅输出10-20行
    
  • jq
    JSON数据处理(需安装)

    curl http://api.example.com | jq '.data[].name'  # 提取JSON中的字段
    

4. 文件与存储管理

  • rsync
    增量同步与备份

    rsync -avz --delete /src/ user@remote:/dest/  # 同步并删除目标多余文件
    
  • find 高级用法
    条件搜索与批量操作

    find /var/log -name "*.log" -mtime +7 -exec rm {} \;  # 删除7天前的日志
    find . -type f -size +100M -print0 | xargs -0 ls -lh  # 查找大文件
    
  • lvm 命令集
    逻辑卷管理(动态调整分区大小)

    pvcreate /dev/sdb1          # 创建物理卷
    vgextend vg0 /dev/sdb1      # 扩展卷组
    lvextend -l +100%FREE /dev/vg0/lv_root  # 扩展逻辑卷
    resize2fs /dev/vg0/lv_root  # 调整文件系统大小
    

5. 系统安全与权限

  • auditd
    系统审计框架

    auditctl -w /etc/passwd -p wa  # 监控passwd文件的写和属性变更
    ausearch -k mykey -i           # 查看审计日志
    
  • firewalld / ufw
    防火墙管理

    firewall-cmd --permanent --add-port=8080/tcp  # 开放端口(firewalld)
    ufw allow from 192.168.1.0/24 to any port 22  # 允许子网SSH访问(ufw)
    
  • chattr
    文件属性保护

    chattr +i /etc/passwd  # 禁止修改文件(root用户也无法删除)
    

6. 自动化与脚本

  • cron
    定时任务配置

    crontab -e  # 编辑当前用户的任务
    # 示例:每天3点备份
    0 3 * * * /opt/backup.sh
    
  • systemd 服务管理
    服务生命周期控制

    systemctl list-unit-files --type=service  # 查看所有服务
    systemctl restart nginx && journalctl -u nginx -f  # 重启服务并跟踪日志
    

7. 容器与虚拟化

  • docker
    容器管理

    docker stats                       # 查看容器资源占用
    docker exec -it mycontainer bash  # 进入容器终端
    
  • virsh
    KVM虚拟机管理

    virsh list --all          # 列出所有虚拟机
    virsh edit myvm           # 编辑虚拟机配置
    

进阶学习建议

  1. 组合命令
    使用管道符 | 和重定向 >/>> 串联工具,例如:

    grep "ERROR" app.log | awk '{print $2}' | sort | uniq -c
    
  2. 查看手册

    man <command>       # 标准手册
    tldr <command>      # 简化版示例(需安装tldr)
    
  3. 调试技巧

    strace -p <PID>     # 跟踪进程系统调用
    set -x              # 在脚本中启用调试模式