跳到主要内容

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 严格模式、字符串处理、错误处理、可移植性
系统日志与journalctljournalctl、syslog、logrotate、日志暴涨怎么办

学习顺序建议

按编号顺序读即可。文件权限 → 进程 → 网络 → Shell 脚本 → 日志,是从静态到动态、从单点到全局的递进。

先决条件

  • 有一台 Linux 服务器(云服务器、本地虚拟机、WSL2 都行)
  • 熟悉 macOS / Linux 终端基本操作(cd、ls、vim 三板斧)
  • 知道 sudo 是干什么的

快速自检

读完这一模块,你应该能秒答以下问题:

  1. chmod 644chmod 755 的区别?什么文件该是 644,什么该是 755?
  2. kill -9kill -15 的区别?为什么生产环境优先用 -15?
  3. 服务器登不上去了,给你 5 分钟怎么排查?
  4. >>> 的区别?2>&1 是什么意思?
  5. systemd 服务起不来,怎么看错误原因?

如果有一题答不上来,就从对应文档读起。