Linux基础与Shell
Linux 是前端项目最终运行的环境,无论是云服务器、容器还是 K8s 集群底层都是 Linux。这一模块解决前端工程师在生产环境的最高频痛点:登上服务器后能看懂、能查、能修。
这一章覆盖什么
不教你 Linux 入门书的全部内容,只教前端工程师真正会用到的部分。重点是:
- 看到
Permission denied/Connection refused/Address already in use这类报错,立刻知道用什么命令排查 - 服务器 CPU/内存爆了,能在 5 分钟内定位到是哪个进程、为什么
- 能写一个像样的 Shell 脚本做自动化部署或日志清理
- 能看懂 systemd 服务定义和 journalctl 输出
文档清单
| 文档 | 解决的问题 |
|---|---|
| 文件系统与权限管理 | rwx、所有者、SUID、ACL、为什么 docker 里 node 进程没权限写 |
| 进程与系统资源管理 | top/htop、CPU 飙高定位、OOM Killer、僵尸进程 |
| 网络排查工具链 | curl/dig/ss/tcpdump/nc,Connection refused 怎么追 |
| Shell 脚本编程 | bash 严格模式、字符串处理、错误处理、可移植性 |
| 系统日志与journalctl | journalctl、syslog、logrotate、日志暴涨怎么办 |
学习顺序建议
按编号顺序读即可。文件权限 → 进程 → 网络 → Shell 脚本 → 日志,是从静态到动态、从单点到全局的递进。
先决条件
- 有一台 Linux 服务器(云服务器、本地虚拟机、WSL2 都行)
- 熟悉 macOS / Linux 终端基本操作(cd、ls、vim 三板斧)
- 知道
sudo是干什么的
快速自检
读完这一模块,你应该能秒答以下问题:
chmod 644和chmod 755的区别?什么文件该是 644,什么该是 755?kill -9和kill -15的区别?为什么生产环境优先用 -15?- 服务器登不上去了,给你 5 分钟怎么排查?
>>和>的区别?2>&1是什么意思?- systemd 服务起不来,怎么看错误原因?
如果有一题答不上来,就从对应文档读起。