Linux运维必备:高频实用命令详解与实战技巧
1. Linux命令概述与基础认知作为一位与Linux系统打交道十余年的老运维我经常被新手问到一个问题面对浩如烟海的Linux命令到底哪些才是真正值得掌握的今天我就结合自己踩过的坑和积累的经验给大家梳理那些真正高频、实用的底层Linux命令。Linux命令本质上都是与内核交互的工具根据功能可以划分为几个大类文件操作类ls/cp/mv等系统管理类ps/top/df等网络工具类ping/curl/wget等文本处理类grep/awk/sed等权限管理类chmod/chown等特别提醒学习Linux命令最忌讳死记硬背参数理解命令设计哲学和适用场景才是关键2. 文件操作核心命令详解2.1 基础文件管理三剑客ls -lah # 人性化显示所有文件详情含隐藏文件 cp -rpv source_dir target_dir # 保留属性递归复制并显示进度 mv -i file1 file2 # 交互式移动/重命名覆盖前提示这三个命令的进阶技巧结合通配符使用如ls *.log利用!$引用上个命令的参数通过alias创建常用组合的快捷方式2.2 文件内容查看与搜索less F /var/log/syslog # 实时跟踪日志文件更新 tail -n 50 -f access.log # 显示最后50行并持续追踪 grep -rin error /var/log/ # 递归忽略大小写搜索错误信息血泪教训在生产环境慎用vim直接编辑重要配置文件建议先cp备份3. 系统监控与进程管理3.1 资源监控黄金组合top -c -u mysql # 显示完整命令并过滤mysql用户进程 htop # 交互式增强版top需额外安装 df -Th # 显示人类可读的文件系统类型和空间 free -h # 以GB/MB显示内存使用情况3.2 进程管理实战ps -ef --forest # 树状显示进程关系 pstree -p # 更直观的进程树 kill -9 $(pgrep -f python script) # 强制终止指定进程 nice -n 19 tar -zcf backup.tgz /data # 低优先级压缩4. 网络诊断与数据传输4.1 网络状态排查ss -tulnp # 比netstat更快的连接查看 tcpdump -i eth0 -nn port 80 # 抓取80端口流量 mtr -r 8.8.8.8 # 结合pingtraceroute诊断网络质量4.2 高效文件传输rsync -avzP --delete src/ userhost:/dest/ # 增量同步并显示进度 scp -C -c aes256-ctr largefile userhost:~/ # 加密压缩传输 wget -c -t 3 --limit-rate1m http://example.com/bigfile # 断点续传限速下载5. 文本处理与自动化5.1 文本处理三巨头grep -Po pattern\K\d file # 提取匹配数字 awk {sum$3} END{print sum} data.txt # 列求和 sed -i.bak s/old/new/g *.conf # 批量替换并备份原文件5.2 组合命令实例# 统计Nginx日志各IP访问量 awk {print $1} access.log | sort | uniq -c | sort -nr | head -20 # 批量重命名图片 ls *.jpg | awk {print mv $1 vacation_$1} | bash6. 权限管理与安全加固6.1 权限控制要点chmod 750 script.sh # 所有者rwx组rx其他无权限 chown -R www:www /var/www # 递归修改属主和属组 find / -type f -perm /6000 -ls # 查找SUID/SGID文件6.2 安全审计技巧last -i # 查看登录历史显示IP sudo -l # 检查当前用户的sudo权限 lsattr /etc/passwd # 查看文件特殊属性7. 实用技巧与避坑指南历史命令优化export HISTTIMEFORMAT%F %T # 为history添加时间戳 export HISTCONTROLignoreboth # 忽略重复命令和空格开头命令终端复用神器tmux new -s work # 创建持久会话 screen -Rd session_name # 恢复分离的会话常见问题排查Argument list too long错误改用find -exec或xargsNo space left on device但df显示有空间可能是inode耗尽Permission denied但权限正确检查SELinux状态性能优化技巧ionice -c2 -n7 backup.sh # 最低IO优先级运行 taskset -c 0,1 compute.sh # 绑定到指定CPU核心掌握这些命令后你会发现Linux系统就像透明的水晶球一样清晰可控。不过要记住真正的功力不在于记住多少命令而在于理解系统运行机制后能灵活组合这些工具解决问题。