Skip to content

Linux 基础

现代后端开发与校招面试必备的 Linux 基础使用:核心命令速查、文件操作、文本三剑客、进程与端口排查、权限体系。

Updated View as Markdown
For humans

Linux 基础

校招考察频度:★ 高频(日常开发必备·面试基础生命线) 复习主线:Linux 是后端服务交付与运行的物理底座,容器本质也是 Linux 进程。校招面试对 Linux 的考查聚焦于高频日常操作与生产应急排查,拒绝晦涩难懂的偏门指令,紧扣五大核心场景:文件与目录浏览操作、查看日志与追踪(tail -f/less)、文本三剑客与管道(grep/awk/sed)、进程管理与信号(ps/kill -9 vs -15/nohup)、网络端口与磁盘排查(netstat/ss/lsof/df/free)。

在现代工程实践中,无论是云服务器、Docker 容器、K8s Pod 还是生产故障排查,终端命令行都是后端开发工程师的“第一工作台”。


分类考频地图

专题核心页面校招考频星级重点考查要点
文件与目录操作文件与目录常用操作★ 高频(日常必备)cd/pwd/ls -lh、mkdir -p/rm -rf 安全规范、软链接 vs 硬链接、大文件查看(cat/less/head/tail -f 追踪日志)、find 文件查找、tar 解压缩
文本三剑客与管道文本三剑客与管道★ 高频(日志排查)输入输出重定向(>/>>/<)、2>&1 与 /dev/null 原理、grep 异常过滤与前后上下文(-C/-A/-B)、awk 列提取与统计 access.log PV/UV、sed 批量替换、sort/uniq/wc
进程与服务管理进程管理与日常命令★ 高频(高频必考)ps -ef/ps aux 进程筛选、kill -15(优雅停机)vs kill -9(内核强杀)本质区别、nohup ... & 后台守护机制、jobs/fg/bg、systemctl 服务启停配置
权限体系与系统排查权限体系与系统排查★ 高频(工程必问)rwx 权限三元组与八进制表示(chmod 755/644)、chown 属主变更、端口占用排查(netstat/ss/lsof -i)、内存查看(free -h)、磁盘爆满排查(df -h/du -sh *)、环境变量 $PATH

30 秒高频命令速查卡

后端日常 Linux 四大核心模块

场景需求常用一行命令关键参数与解析
实时追踪应用日志tail -f -n 200 app.log-f 持续滚动追踪,-n 200 显示最新 200 行
搜索包含 Exception 的日志及前后 5 行grep -rn -C 5 "NullPointer" app.log-r 递归,-n 行号,-C 5 显示上下文前后 5 行
统计访问日志中各 IP 的访问次数并降序awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10经典面试组合拳:提取首列 IP → 排序 → 去重计数 → 逆序排序 → 取 Top 10
查看 8080 端口被谁占用lsof -i :8080 或 ss -tunlp | grep 8080查看监听 8080 端口的进程名称与 PID
查看服务进程并查找 PIDps -ef | grep "java -jar" | grep -v grepps -ef 列出所有进程,grep -v grep 过滤自身命令
后台持久运行 Java 服务nohup java -jar app.jar > app.log 2>&1 &忽略挂断信号,标准输出与错误输出合并重定向,后台运行
安全终止进程kill -15 <pid>(无效时再用 kill -9)15 为 SIGTERM 优雅退出,9 为 SIGKILL 内核强杀
排查磁盘是哪个大文件占满了df -h && du -sh /data/* | sort -hr | head -n 10df -h 先看挂载点空间,du -sh 找出目录下前 10 大文件/文件夹
解压 .tar.gz 压缩包tar -zxvf package.tar.gz -C /opt/-z gzip 解压,-x 提取,-v 显示过程,-f 指定文件,-C 解压到目标目录
赋予脚本执行权限chmod +x deploy.sh赋予属主及所有人可执行权限(等同于增加 x 位)

生产故障应急排查决策流程

线上故障快速应急定位流程图


知识定位与分工

  • 本项目 Linux 基础:侧重日常命令使用、日志检索、三剑客、进程维护、端口与磁盘排查,满足业务开发与求职面试的基础操作需求。
  • 本项目 部署与云原生:侧重 Docker 容器技术与 K8s 编排调度,容器运行时基于 Linux 进程隔离与 Cgroups。
  • 本项目 计算机网络:侧重 TCP 握手挥手、2MSL 治理、HTTP/2 及网络抓包排障。

校招高频面试追问

  1. 日常排查线上接口报错,你的日志排查流程是怎样的?
    • 先用 tail -n 200 app.log 或 tail -f app.log 查看最新报错;
    • 若错误较多或已知关键词,使用 grep -n -C 10 "Error|Exception" app.log 提取报错详情与上下文异常堆栈;
    • 若日志量巨大(GB 级别),切忌使用 cat 直接输出或 vim 打开,应使用 less app.log 结合 / 搜索,或用 awk/grep 过滤输出到临时文件后再分析。
  2. kill -9 和 kill -15 有什么区别?为什么生产环境推荐先用 kill -15?
    • kill -15(SIGTERM)是正常终止信号,操作系统会通知目标进程,进程可以捕获该信号并执行清理逻辑(如释放数据库连接池、刷盘缓冲区、优雅完成正在处理中的 HTTP 请求);
    • kill -9(SIGKILL)由内核直接强制回收进程资源,目标进程无法捕获也无法忽略该信号,容易导致事务中断、临时文件未清理或分布式锁未释放。
  3. 如何查看某个端口(如 8080)是否被监听?占用它的 PID 是多少?
    • 使用 lsof -i :8080 可以直接查看正在使用该端口的 COMMAND、PID、USER;
    • 或者使用 ss -tunlp | grep 8080(现代推荐)或 netstat -tunlp | grep 8080,参数 -t 代表 TCP,-u 代表 UDP,-n 代表显示数字 IP 端口,-l 代表监听状态,-p 代表显示所属 PID。
Navigation

Type to search…

↑↓ navigate↵ selectEsc close