Shell与常用命令
Shell 是 Linux 自动化和远程运维的核心入口。真正掌握 Shell,不是记住所有命令,而是能组合命令完成查询、过滤、批处理和故障定位。
# 1. 学习目标
- 掌握文件、文本、进程、网络、压缩、权限等常用命令。
- 理解管道、重定向、变量、退出码和脚本基础。
- 能把命令组合成可重复、可审计的运维操作。
# 2. 知识框架
Shell与常用命令
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料
Shell 思维是“小工具 + 管道 + 文本协议”。每个命令做好一件事,组合起来完成复杂任务。
# 3. 核心概念
| 主题 | 说明 | 工程关注 |
|---|---|---|
| 管道 | 把一个命令输出交给另一个命令输入 | 日志过滤、统计分析 |
| 重定向 | 改变标准输入、输出和错误输出 | 日志采集、后台任务 |
| 退出码 | 命令执行结果的数字状态 | 脚本判断、CI/CD |
| 脚本 | 把命令和控制流固化成文件 | 自动化、可重复执行 |
# 4. 机制与实践
- 危险命令先用 echo、ls、find 预览目标,再执行修改。
- 脚本开头设置错误处理策略,并打印关键变量。
- 复杂管道分步验证,确认每一步输出符合预期。
# 5. 常用命令与工具
| 命令或工具 | 作用 | 使用建议 |
|---|---|---|
grep -R pattern dir | 递归搜索文本 | 日志和配置定位 |
awk '{print $1}' file | 按列处理文本 | 统计和报表常用 |
du -sh * | 查看当前目录各项大小 | 定位空间占用 |
# 6. 常见误区
- 复制命令不理解参数:生产环境参数差异可能造成误删、误覆盖或权限扩大。
- 忽略空格和特殊字符:文件名中空格、换行会让简单脚本出错。
- 脚本不处理失败:某一步失败后继续执行可能造成更大影响。
# 7. 进阶研究方向
- 系统学习 Bash 参数展开、数组、函数、trap 和 set 选项。
- 用 shellcheck 检查脚本质量。
- 把常用排障命令沉淀成团队 runbook。
# 8. Tips 快问快答
Q:Shell 和终端是什么关系?
A:终端是交互界面,Shell 是解释命令的程序。
Q:管道为什么强大?
A:它让命令之间通过文本流组合,形成灵活的数据处理链。
Q:命令行学习重点是什么?
A:重点是理解输入输出、退出码和组合方式,而不是背完整参数表。
# 9. 总结
Shell 是 Linux 的生产力入口。掌握命令组合和脚本化后,很多重复操作、日志分析和系统排障都能高效完成。
上次更新: 2026/06/25, 13:47:47