Linux维护工程师常用30个命令
一、系统监控与调试(8个)
1. top – 实时进程监控器
# 参数详解:
-H:显示线程级信息
-d 2:刷新间隔2秒
-u www:过滤用户进程
# 麒麟系统特别参数:
-Z:显示SELinux安全上下文(适用于安全增强系统)
# 实战示例:
top -H -p $(pgrep nginx) # 监控nginx工作线程
2. htop – 交互式进程管理器
# 快捷键组合:
F2:自定义显示列
F5:树状视图分析进程层级
F9:发送信号给进程
# 实战技巧:
用鼠标点击表头可排序,右键查看进程打开文件
3. vmstat – 虚拟内存统计
# 输出解析:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
# 关键指标:
- wa值>30%说明磁盘IO瓶颈
- cs过高可能触发CPU调度问题
# 麒麟优化:
vmstat -s # 显示内存分配器统计(适用于国产内存管理优化)
4. iostat – 磁盘IO分析
# 扩展参数:
-x:显示扩展统计(包括await、svctm)
-z:隐藏零活动设备
-m:以MB/s显示吞吐量
# 实战案例:
iostat -xm 1 # 实时监控磁盘吞吐和延迟
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
5. pidstat – 进程级资源监控
# 常用组合:
-d:磁盘IO统计
-r:内存页错误
-w:上下文切换
# 诊断示例:
pidstat -w -p 1234 2 5 # 监控进程上下文切换频率
6. strace – 系统调用追踪
# 高级用法:
-f:跟踪子进程
-tt:带时间戳
-e trace=file:只跟踪文件操作
# 实战调试:
strace -ff -o debug.log /usr/sbin/sshd # 分析SSH服务启动问题
7. perf – 性能分析工具
# 常用子命令:
record:记录性能数据
report:生成报告
stat:实时统计
# 麒麟适配:
perf kvm stat # 虚拟化环境性能分析(适用于国产云平台)
8. dmesg – 内核日志分析
# 参数技巧:
-T:显示人类可读时间戳
--level=err,crit # 过滤严重错误
# 硬件诊断:
dmesg | grep -i 'usb\|ata' # 检测外设连接问题
二、文件与存储管理(10个)
9. lsblk – 块设备拓扑
# 参数组合:
-o NAME,SIZE,TYPE,MOUNTPOINT # 自定义输出列
--discard:显示TRIM支持状态
# 国产存储适配:
lsblk -S # 显示SCSI主机设备(检测国产HBA卡)
10. lsof – 打开文件追踪
# 常见场景:
lsof +D /var/log # 查看日志目录占用进程
lsof -i :80 # 查找80端口占用程序
# 麒麟安全分析:
lsof -u root | grep DEL # 检测已删除但未释放的文件(可能被攻击利用)
11. find – 高级文件检索
# 时间筛选:
-mtime +7:修改超过7天
-atime -3:访问在3天内
# 权限审计:
find / -perm -4000 # 查找所有SUID文件(安全扫描)
# 麒麟系统专用:
find /usr/lib/kylinsec -name "*.so" # 定位安全模块库文件
12. rsync – 增量同步
# 关键参数:
-a:归档模式(保留权限)
-z:压缩传输
--delete:镜像同步
--bwlimit=1024:限速1MB/s
# 备份示例:
rsync -avz --exclude='*.tmp' /data/ user@backup:/backup/
13. tar – 归档工具
# 高级用法:
tar --exclude='*.log' -czvf backup.tgz /etc # 排除日志文件
tar --wildcards -tvf pkg.tar.gz '*.conf' # 查看压缩包内配置文件
# 麒麟系统压缩优化:
tar -I 'zstd -T4' -cf archive.tar.zst /data # 多线程ZSTD压缩
14. dd – 磁盘克隆
# 参数安全:
conv=noerror,sync:忽略错误继续复制
status=progress:显示进度
# 国产磁盘操作:
dd if=/dev/nvme0n1 bs=4M | ssh backup "dd of=/dev/sdb" # 远程克隆NVME固态盘
15. mount – 高级挂载
# 特殊文件系统:
mount -t tmpfs -o size=2G tmpfs /mnt # 挂载内存盘
mount -o loop,offset=1048576 image.iso /mnt # 挂载镜像文件
# 麒麟安全挂载:
mount -o context="system_u:object_r:etc_t:s0" /dev/sda1 /etc # SELinux上下文指定
16. fuser – 文件占用诊断
# 强制卸载:
fuser -km /mnt # 终止所有占用进程后卸载
17. debugfs – 文件系统调试
# 紧急恢复:
debugfs /dev/sda1
debugfs: lsdel # 列出被删除的inode
debugfs: dump <inode> /recovery.file # 恢复误删文件
18. ncdu – 磁盘空间分析
# 交互式分析:
ncdu --exclude /mnt / # 排除挂载点扫描
三、网络与安全(7个)
19. ss – 现代网络工具
# 连接分析:
ss -tunp sport = :443 # 查看HTTPS连接进程
ss -o state established '( dport = :ssh or sport = :ssh )' # 监控SSH会话
20. tcpdump – 网络抓包
# 过滤技巧:
tcpdump -i any 'port 53' # 抓DNS查询
tcpdump -w capture.pcap -C 100 # 分卷保存抓包文件
# 国产加密协议:
tcpdump -i eth0 'tcp port 443 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420)' # 捕获HTTP明文
21. firewall-cmd – 防火墙管理
# 麒麟安全配置:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' # 允许内网SSH
22. auditctl – 审计系统
# 安全监控规则:
auditctl -w /etc/passwd -p wa -k passwd_change # 监控密码文件修改
23. openssl – 加密工具
# 证书检查:
openssl x509 -in server.crt -text -noout # 查看证书详情
# 国密算法支持:
openssl sm2 -in data.txt -out encrypted.dat # SM2加密(麒麟专用模块)
四、包与配置管理(5个)
24. rpm – 深度包验证
# 安全审计:
rpm -Va --nofiledigest # 验证文件完整性(排除校验和变化)
25. grubby – 引导配置
# 麒麟内核管理:
grubby --set-default-index=1 # 设置默认启动内核
26. journalctl – 日志分析
# 高级过滤:
journalctl _UID=0 --since "2023-08-01" --until "2023-08-02"
journalctl -k --grep="ACPI Error" # 内核日志筛选
五、高级维护技巧
27. screen/tmux – 会话管理
# 后台运维:
screen -S update # 创建命名会话
Ctrl+a d # 断开会话
screen -r update # 重连会话
28. gdb – 核心转储分析
# 崩溃诊断:
gdb -c core.12345 /usr/sbin/nginx # 分析nginx崩溃原因
29. ansible – 批量管理
# 麒麟集群管理:
ansible kylin_servers -m shell -a "kylin-secadmin check" # 批量执行安全扫描
30. bpftrace – 动态追踪
# 内核级调试:
bpftrace -e 'tracepoint:syscalls:sys_enter_openat { printf("%s %s\n", comm, str(args->filename)); }'
麒麟系统特别提示
-
国产硬件支持:
lscpu | grep -i loongson # 检测龙芯处理器 dmesg | grep -i phytium # 飞腾芯片日志 -
安全模块管理:
kylin-secadmin status # 查看安全组件状态 kylin-secadmin update # 更新安全策略 -
自主生态软件:
kydroid list # 查看安卓兼容环境 uksmdctl --status # 统一内核服务管理
每个命令都建议结合man手册深入研究。在麒麟系统上执行关键操作前,务必使用kylin-snapshot创建系统快照,并注意国产化组件的特殊日志路径(/var/log/kylinsec/)。