Linux进阶命令详解

发布于:2025-08-07 ⋅ 阅读:(14) ⋅ 点赞:(0)

面向人群:具备Linux基础的系统管理员/运维工程师
核心目标:掌握生产环境故障排查、性能调优与自动化运维


一、系统深度监控与诊断

1. atop - 高级进程监控

实时记录系统级资源占用(支持历史回溯)

bash

atop -R  # 显示磁盘I/O详情  
atop -m  # 聚焦内存分析  

输出关键列
SYSCPU(内核态CPU)、USRCPU(用户态CPU)、VGROW(虚拟内存增长)、RGROW(常驻内存增长)

2. iotop - 磁盘I/O监控

实时追踪进程级磁盘读写

bash

iotop -oPa  # 仅显示活跃I/O进程(按累积量排序)  
3. nmon - 一体化性能分析

生成CPU/内存/磁盘/网络的综合报表

bash

nmon -f -s 5 -c 100  # 每5秒采样1次,共100次(生成.csv报表)  
4. dstat - 自定义监控仪表盘

bash

dstat -tcmnd --disk-util  # 同时显示时间戳/CPU/内存/网络/磁盘利用率  

二、网络高级排查工具

1. tcpdump - 网络抓包分析

bash

tcpdump -i eth0 port 80 -w http.pcap  # 捕获80端口流量并保存  
tcpdump 'tcp[tcpflags] & tcp-syn != 0'  # 抓取所有SYN包(半连接检测)  
2. iftop - 实时带宽监控

动态显示网络连接流量排名

bash

iftop -P -i eth0  # 显示端口详情(-P)  
3. ss - 现代版netstat

bash

ss -tulpn  # 比netstat更快:显示监听端口及进程  
ss -s     # 统计TCP状态(ESTAB/TIME_WAIT数量)  
4. mtr - 网络路径诊断

bash

mtr -r -c 100 google.com  # 发送100个包并生成报告(定位丢包节点)  

三、存储与磁盘进阶管理

1. LVM 逻辑卷管理
命令 作用
pvcreate /dev/sdb 初始化物理卷
vgcreate vg0 /dev/sdb 创建卷组
lvcreate -L 100G -n lv_data vg0 创建逻辑卷
lvextend -l +100%FREE /dev/vg0/lv_data 动态扩容
2. ZFS - 企业级文件系统

bash

zpool create tank mirror /dev/sdc /dev/sdd  # 创建RAID1存储池  
zfs set compression=lz4 tank/db  # 启用透明压缩  
zfs snapshot tank/db@20240806    # 秒级快照  
3. iostat - 磁盘I/O性能分析

bash

iostat -dxm 2  # 每2秒显示设备扩展统计(%util>90%表示过载)  
4. btrfs - 高级文件系统操作

bash

btrfs subvolume create /mnt/data  # 创建子卷  
btrfs send /snap1 | btrfs receive /backup  # 增量快照同步  

四、自动化运维与脚本

1. find 高级文件搜索

bash

find /var/log -name "*.log" -mtime +30 -exec rm {} \;  # 删除30天前日志  
find . -size +100M -printf "%p %s\n"  # 打印大于100MB的文件及大小  
2. rsync - 增量同步神器

bash

rsync -avz --delete -e ssh /data/ user@backup:/backup/  # 镜像同步(删除目标多余文件)  
3. cron 进阶用法

bash

# 避免任务重叠(使用flock)  
* * * * * /usr/bin/flock -xn /tmp/backup.lock -c '/opt/backup.sh'  
4. systemd 服务深度管理

bash

systemd-analyze blame      # 分析启动耗时服务  
journalctl -u nginx -f -p 3  # 实时追踪nginx错误日志(-p 3=ERR级)  

五、安全审计与防护

1. auditd - 内核级审计框架

bash

auditctl -w /etc/passwd -p wa -k passwd_change  # 监控passwd文件写入  
ausearch -k passwd_change -i  # 查询审计日志(-i转译为可读格式)  
2. SELinux 故障排查

bash

sealert -a /var/log/audit/audit.log  # 分析SELinux拒绝事件  
semanage port -a -t http_port_t -p tcp 8080  # 允许Nginx监听8080端口  
3. fail2ban - 自动封禁攻击IP

bash

fail2ban-client status sshd  # 查看sshd防护状态  

六、性能调优工具箱

1. perf - 内核性能分析

bash

perf top -g           # 实时函数级CPU热点  
perf record -a -g     # 全系统采样(生成perf.data)  
perf report --call-graph flamegraph  # 生成火焰图  
2. eBPF 动态追踪

bash

# 使用bcc工具包  
opensnoop-bpfcc  # 监控文件打开行为  
biolatency-bpfcc  # 统计磁盘I/O延迟分布  
3. numactl - NUMA架构优化

bash

numactl --cpunodebind=0 --membind=0 ./app  # 绑定CPU和内存节点  

七、容器与云原生支持

1. cgroups 资源限制

bash

cgcreate -g cpu,memory:/myapp  
echo "100000" > /sys/fs/cgroup/cpu/myapp/cpu.cfs_quota_us  # 限制10% CPU  
2. kubectl 核心命令

bash

kubectl top pod -A             # 查看Pod资源消耗  
kubectl debug node/node1 -it --image=busybox  # 节点调试容器  
3. podman 无守护进程容器

bash

podman run --userns keep-id -v $PWD:/app:Z quay.io/app  # 安全身份映射  

八、内核与硬件诊断

1. lshw - 硬件拓扑探测

bash

lshw -html > report.html  # 生成硬件清单报告  
2. dmidecode - 提取BIOS信息

bash

dmidecode -t memory  # 查看内存条详情  
3. kdump - 内核崩溃转储

bash

crash /var/crash/vmcore /usr/lib/debug/lib/modules/$(uname -r)/vmlinux  # 分析崩溃文件  

九、日志聚合分析

1. logrotate 高级配置

nginx

/var/log/nginx/*.log {  
  daily  
  rotate 365  
  compress  
  delaycompress  
  sharedscripts  
  postrotate  
    /usr/bin/killall -HUP nginx  
  endscript  
}  
2. ELK Stack 快速检索

bash

# 使用grok解析Nginx日志  
filter {  
  grok { match => { "message" => "%{COMBINEDAPACHELOG}" } }  
}  

成为Linux专家的关键路径

  1. 理解操作系统原理:进程调度、内存管理、文件系统实现

  2. 掌握性能分析方法论:USE法(Utilization/Saturation/Errors)、RED法(Rate/Errors/Duration)

  3. 构建自动化体系:从Shell脚本进阶到Ansible/Terraform

  4. 安全优先思维:最小权限原则、纵深防御、审计溯源


网站公告

今日签到

点亮在社区的每一天
去签到