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)); }'

麒麟系统特别提示

  1. 国产硬件支持

    lscpu | grep -i loongson  # 检测龙芯处理器
    dmesg | grep -i phytium  # 飞腾芯片日志
  2. 安全模块管理

    kylin-secadmin status  # 查看安全组件状态
    kylin-secadmin update  # 更新安全策略
  3. 自主生态软件

    kydroid list  # 查看安卓兼容环境
    uksmdctl --status  # 统一内核服务管理

每个命令都建议结合man手册深入研究。在麒麟系统上执行关键操作前,务必使用kylin-snapshot创建系统快照,并注意国产化组件的特殊日志路径(/var/log/kylinsec/)。

发表回复 0

Your email address will not be published.