Linux 命令完全指南:运维必备命令与 Shell 脚本

深入 Linux 核心命令与 Shell 脚本编程,掌握文件操作、进程管理、网络调试、自动化脚本,成为 Linux 运维高手。

作者
Linux 运维专家RHCA 认证架构师

🐧 Linux 重要性

Linux 是互联网基础设施的基石。根据 W3Techs 2023 统计,38.5% 的 Web 服务器运行 Linux,100% 的超级计算机使用 Linux。

38.5%
Web 服务器
100%
超级计算机
90%
云服务器
70%
Docker 容器

开发者必备 Linux 技能

📁

文件操作

ls、cd、cp、mv、rm、find、tar

📝

文本处理

grep、awk、sed、cat、less、vim

⚙️

进程管理

ps、top、htop、kill、systemctl

🌐

网络调试

netstat、ss、ping、curl、tcpdump

🤖

Shell 脚本

变量、条件、循环、函数、调试

📊

性能监控

vmstat、iostat、sar、perf、strace

💡 独特观点

Linux 命令的真正价值不是"记住所有命令",而是理解 Unix 哲学做一件事并做好、组合小工具、文本流是通用接口

📁 文件操作命令

文件操作是 Linux 的 daily bread。掌握这些命令,你就能高效管理文件系统

1. 基础文件操作

命令功能常用参数示例
ls列出目录内容-l(长格式)、-a(含隐藏)、-h(人性化)ls -lah /home
cd切换目录~(家目录)、-(返回)、..(上级)cd /var/log
cp复制文件/目录-r(递归)、-v(详情)、-p(保留属性)cp -rv src/ dest/
mv移动/重命名-v(详情)、-f(强制)mv old.txt new.txt
rm删除文件/目录-r(递归)、-f(强制)、-v(详情)rm -rf node_modules/
find查找文件-name(名称)、-type(类型)、-exec(执行)find . -name "*.log" -delete
tar打包/压缩-czf(压缩)、-xzf(解压)、-tf(查看)tar -czf archive.tar.gz dir/

2. 高级文件操作

📝 实战:批量重命名 + 备份

# 1. 批量重命名(将 .txt 改为 .md)
for file in *.txt; do
  mv "$file" "${file%.txt}.md"
done

# 2. 查找大文件(> 100MB)并删除
find /var/log -type f -size +100M -exec rm -vf {} \;

# 3. 创建备份(带日期)
tar -czf "backup-$(date +%Y%m%d).tar.gz" /important/data/

# 4. 同步文件(类似 rsync)
cp -ru /source/* /dest/  # -u:仅更新较新文件

# 5. 统计代码行数
find . -name "*.js" -exec wc -l {} + | tail -1

📝 实战:磁盘使用分析

# 1. 查看磁盘使用情况
df -h

# 2. 查看目录大小(人类可读)
du -sh /var/log/

# 3. 查找最大目录(前 10)
du -h /home | sort -rh | head -10

# 4. 实时监控目录变化(inotify)
inotifywait -m -r -e create,delete,modify /important/

📝 总结与展望

Linux 命令与 Shell 脚本是运维和开发的基石。通过本文的学习,你应该掌握了:

🎯 核心要点

  • 文件操作:ls、cp、mv、rm、find、tar、df、du
  • 文本处理:grep、awk、sed、cat、less、vim、sort、uniq
  • 进程管理:ps、top、htop、kill、systemctl、journalctl
  • 网络调试:netstat、ss、ping、curl、tcpdump、iptables
  • 系统管理:useradd、chmod、chown、crontab、 yum/apt
  • Shell 基础:变量、条件、循环、函数、数组、字符串
  • Shell 高级:sed/awk 脚本、进程替换、trap、getopts
  • 自动化:日志轮转、备份脚本、监控告警、部署脚本
  • 性能监控:vmstat、iostat、sar、perf、strace、dstat
  • 最佳实践:命令组合、管道思维、错误处理、代码审查

🚀 未来展望

Linux 运维正在快速演进,值得关注的方向:

  • eBPF:内核级性能分析(替代 iptables、strace)
  • 容器化:Docker、Kubernetes 改变运维模式
  • 基础设施即代码:Terraform、Ansible、Puppet
  • 可观测性:Prometheus、Grafana、ELK Stack
  • Shell 替代品:Python、Go 编写系统工具