🐧 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 编写系统工具