.png)
Linux高级命令学习
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
网络路由追踪(结合traceroute
和ping
)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 # 编辑虚拟机配置
进阶学习建议
-
组合命令
使用管道符|
和重定向>
/>>
串联工具,例如:grep "ERROR" app.log | awk '{print $2}' | sort | uniq -c
-
查看手册
man <command> # 标准手册 tldr <command> # 简化版示例(需安装tldr)
-
调试技巧
strace -p <PID> # 跟踪进程系统调用 set -x # 在脚本中启用调试模式
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 白芷舒华