资讯动态

Linux运维面试40道高频题:从基础命令到生产排障一次讲透

发布时间:2026/9/20 3:39:43 来源:尧图企业网站定制
我做了快十年Linux运维也前前后后面试过不少候选人发现一个很现实的问题网上流传的Linux面试题大多停留在“背命令”层面背得熟不代表真会干。但反过来如果你连最基础的命令和概念都说不利索哪怕项目经验写得再漂亮面试官也很难相信你能独立处理生产环境的问题。今天这篇内容我按自己的面试习惯把常考的Linux问题整理成了一份40道题的清单。每道题都给了参考答案部分高频题还加了我自己的答题思路和踩坑复盘覆盖命令、权限、进程、网络、存储、Shell、内核和综合排障。不管你是准备校招、社招还是想系统自查一遍Linux基础这份清单都可以拿来当复习目录用。1. 面试前先想明白Linux基础题到底在考什么很多候选人以为面试官问Linux命令是“随便考考”其实不是。基础题往往是一道筛选器用来判断你有没有真实的系统操作经验。你在面试里说的每一个参数、每一条排查路径都代表着你平时在服务器上是怎么干活的。1.1 为什么几乎每个岗位都要问Linux后端开发、运维、测试、DevOps、甚至客户端开发只要涉及服务部署Linux都绕不开。面试官问Linux并不是指望你背出所有命令而是想看三件事第一你有没有在真实环境里操作过能不能说出命令背后的效果第二遇到问题时的排查思路是否清晰第三你对自己写的命令有没有把握知不知道危险操作和边界。所以你会发现同样一道“查看端口占用”的问题有的人只回答“netstat -anp”有的人会补充“我会先用ss -lntp再配合lsof -i:端口看是哪个进程”后者明显更有实战味道。我整理题单时特意在参考答案里加入了这类“真实操作时我会怎么说”的细节你复习时不要光背要理解为什么这么答。1.2 面试官心里那杆秤深度、广度、应变我一般把Linux面试题分成三个层次。第一个层次是广度比如常用命令、文件权限、进程查看这属于“你用过没有”的问题。第二个层次是深度比如软硬链接的区别、inode满了怎么办、systemd的启动流程这类题能看出你是否理解底层原理。第三个层次是应变最典型的就是“服务器突然负载飙高你怎么排查”这种开放题没有标准答案面试官想看你的排查顺序、工具选择、以及能否Hold住生产变更的风险意识。下面的40道题就是按这三个层次铺开的。我会在章节里标出题型侧重你自己复习的时候也可以对照一下是广度不足还是深度不够。2. 40道精选面试题全景拆解文件、权限与用户这部分是Linux的地基也是面试中出现频率最高的。很多运维场景最后都会落到“文件对不对”“权限够不够”上所以先把这块吃透。2.1 文件管理与目录结构高频题第一梯队先看文件相关的题。下面这8道题属于“一定要能脱口而出”的级别。序号面试题参考答案要点1如何查看Linux系统版本和内核版本cat /etc/os-release 或 cat /etc/redhat-release 看发行版uname -a 或 uname -r 看内核版本2Linux下有哪些文件类型普通文件-、目录d、字符设备c、块设备b、软链接l、套接字s、管道p用 ls -l 第一列可查看3软链接和硬链接的区别是什么硬链接共享同一个inode删除原文件不影响链接软链接是独立文件存储目标路径目标删除后失效硬链接不能跨文件系统不能链接目录4如何查找一个文件或目录find /path -name xxx 按名字找locate 走索引速度快which 找PATH下的可执行文件whereis 找二进制、源码、man手册5find 和 grep 的区别find 是磁盘上找文件按文件名、大小、时间等条件过滤grep 是文件内容里找文本常结合管道使用6如何查看文件内容几种方式的区别cat 全量输出、less 分页查看、head/tail 看头尾、tail -f 跟踪日志增长、grep 过滤关键字7一个日志文件有几十GB怎么定位异常片段先用 tail 或 less 定位大概时间点再用 grep -n 带行号过滤关键字取上下文用 grep -C 5不要直接 cat 整个文件8如何查看某个目录占用了多少空间du -sh /目录 查看目录总大小du -h --max-depth1 看一层子目录的占用排序排查哪个目录占满磁盘这里我想多说一句find的用法。生产环境里我经常看到有人用 find / -name 去全盘找文件磁盘IO直接被打满。正确做法是先限定范围精确到可能存在的目录再用 -mtime、-size 等条件缩小结果集。面试时提到这种“避免全盘扫描”的细节会明显加分。2.2 用户、用户组与权限体系权限题几乎每场面试都会出现特别是chmod的数字含义和sudo的区别属于必问。序号面试题参考答案要点9chmod 754 是什么意思7rwx属主、5r-x属组、4r--其他用户r4w2x1数字是权限值的加和10如何新建用户并设置密码useradd test 创建用户passwd test 设置密码需要指定家目录和Shell可用 useradd -m -s /bin/bash test11su 和 sudo 的区别su 是切换用户需要目标用户密码可切到rootsudo 是临时提权执行单条命令只需要当前用户密码配合 /etc/sudoers 控制权限12/etc/passwd 和 /etc/shadow 的作用passwd 保存用户名、UID、GID、家目录、Shell等基础信息shadow 保存加密后的密码和密码策略普通用户不可读13如何把用户加入某个用户组usermod -aG docker test-a 表示追加不加会覆盖原有附属组14一个文件被root创建普通用户无法查看如何解决调整属主 chown或调整权限 chmod必要时使用 sudo生产环境要按最小权限原则不能直接 chmod 77715什么是setuid/SGID/sticky bitsetuid二进制程序执行时临时获得属主权限如passwdSGID目录下新建文件继承属组sticky bit目录如/tmp只有属主和root能删自己的文件16如何查看当前登录用户和历史命令whoami 看当前用户、who/w 看登录会话history 查看历史命令history -c 清空生产环境一般保留审计第15题是很多人的知识盲区。我面试时问过好多次setuid能答上来的候选人不多。其实你平时执行 passwd 改密码就是setuid的典型例子——普通用户通过这个命令临时拿到了root的写入权限才能修改 /etc/shadow。这个原理理解了后面再学容器里的特权模式、sudo配置都更容易。3. 40道精选面试题全景拆解进程、网络与Shell如果说文件和权限是“静态基础”那进程、网络和Shell就是Linux运维的日常主战场。下面的题我按实际使用频率做了排序优先级高的题建议反复练习到能不看答案直接讲出来。3.1 进程管理与系统状态排查进程这块的重点不是背命令而是“看到输出能判断系统是否健康”。序号面试题参考答案要点17如何查看系统当前运行的进程ps -ef 标准格式ps aux 带CPU和内存百分比top/htop 动态刷新看实时负载18top输出中的us、sy、wa、id分别代表什么us用户态CPU、sy系统态CPU、wa等待IO、id空闲wa高说明磁盘IO有瓶颈us高说明CPU密集计算多19如何统计CPU核数和内存大小lscpu 看CPU架构核心数nproc 输出核数free -h 看内存总量和可用量20ps 和 top 的区别ps 是拍快照查看某个时刻的进程状态top 是实时刷新能观察到CPU和内存的动态变化21如何结束一个进程先 ps -ef 或 pgrep -f 拿到PID再 kill PIDkill -15 默认请求正常退出kill -9 强制杀死批量结束用 pkill -f 关键词22僵尸进程是什么怎么清理子进程结束后父进程没调用wait回收就变成僵尸不能直接kill需要杀掉父进程让init接管回收或重启服务23如何查看某个服务的运行状态systemctl status 服务名ss -lntp 看监听端口ps -ef24init 和 systemd 的区别init 是串行启动老旧系统systemd 并行启动、支持依赖管理提供 systemctl 统一管理服务第22题僵尸进程我单独强调一下。面试时很多人只会说“kill掉就好了”正确答案其实是“你kill不了僵尸进程因为进程已经死了只是没被收尸”。正确做法是找到它的父进程检查父进程为什么不回收然后处理父进程。这个知识点能反映出你对Linux进程生命周期的理解程度比单纯背命令有价值得多。3.2 网络配置与常见故障排查网络题一般不会让你现场搭环境但会结合“连不上”这个具体场景来问核心是看你的排查顺序。序号面试题参考答案要点25如何查看本机IP和网关ip addr 查看IPip route 或 route -n 查看网关老命令 ifconfig 在新系统里可能未安装26如何查看端口监听状态ss -lntp 查看所有监听端口ss -lntup 加UDPlsof -i:8080 查看某个端口被哪个进程占用27修改静态IP应该改哪个文件CentOS/RedHat系 /etc/sysconfig/network-scripts/ifcfg-eth0Debian/Ubuntu系 /etc/network/interfaces 或 netplan新系统也可用 nmcli 统一管理28ping通但ssh连接不上怎么排查先确认端口是否监听 ss再看防火墙 firewalld/iptables 是否放行22最后看 sshd 服务是否启动日志在 /var/log/secure29DNS解析不来怎么排查先 ping 网关确认网络通不通再用 nslookup 或 dig 域名 测试解析检查 /etc/resolv.conf 里的nameserver最后看 /etc/nsswitch.conf 里hosts的解析顺序30iptables 和 firewalld 的区别iptables 是内核netfilter框架的配置工具firewalld 是动态防火墙服务底层仍用iptables规则支持区域管理和运行时/持久化配置第28题我几乎每次模拟面试都会问。你会发现思路清晰的候选人会说“先从链路层到网络层再到传输层依次排查”而不是乱猜。我建议你也养成这个习惯先ping网关再ping外网再查端口再看服务再看日志。这个排查顺序在真实故障里能省下大量时间。3.3 Shell脚本与文本处理Shell是区分“会用Linux”和“会玩Linux”的分水岭。面试题通常不会考太复杂的语法但像变量、循环、定时任务、文本统计这些是高频。序号面试题参考答案要点31Shell脚本中 $?、$0、$#、$ 分别代表什么$?上一条命令的退出码$0脚本名$#参数个数$所有参数列表32如何写一个for循环遍历目录下的所有文件for f in /path/*; do echo $f; done注意文件名含空格时变量要加引号33crontab中 */5 * * * * 代表什么每5分钟执行一次五个字段分别是分、时、日、月、周服务要用绝对路径日志最好重定向34grep、awk、sed三者的核心区别grep擅长过滤行sed擅长流式编辑替换awk擅长按列处理和统计三件套经常搭配使用35如何统计access.log中每个IP的访问次数awk {print $1} access.log | sort | uniq -c | sort -rn36如何查看文件中不包含某个关键字的行grep -v 关键字 文件名场景上常用于排除注释行和空行 bash 脚本37如何每隔1秒监控一次某个命令的结果watch -n 1 命令生产环境例如 watch -n 1 ss -lntp38一个脚本需要开机自启动怎么做简单方式在 /etc/rc.local 里加启动命令并保证可执行推荐方式写systemd service单元文件用systemctl enable 开启自启第35题是文本处理面试题的“天花板”因为它既考awk取列又考sort排序还考uniq去重计数。我基本每次面试都会把这个组合作为加分题。如果你能直接答出awk {print $1} access.log | sort | uniq -c | sort -rn并且解释每个管道的作用那Shell这块基本就过关了。4. 40道精选面试题全景拆解存储、内核、安全与场景题这部分题目偏深入也是拉开差距的地方。有些题平时用不到但理解了对整个Linux系统观很有帮助。4.1 磁盘、文件系统与存储管理磁盘相关的问题在面试中出现率很高特别是inode和LVM属于“会的人不多但会了很吃香”的知识点。序号面试题参考答案要点39如何查看磁盘空间和inode使用情况df -h 看磁盘容量df -i 看inode数量inode满时即使有空间也创建不了文件40磁盘满了如何处理排查步骤是什么先 df -h 定位分区再用 du -sh /* 逐层找出大目录清理日志或临时文件如果有进程占用已删除文件用 lsof | grep deleted 定位并重启进程等等这里已经到40了。但还差一些经典题我可以把题单扩展到更多或者将这40道题重新排序。其实上面已经有40道了但我想加入LVM和fdisk等。 或许我可以超过40道标题写“40道”但给到更多应该也可以或者把40道仔细编号。上面的题号有些凌乱可能需要重新整理40道来覆盖。我需要完整列出40道题。让我重编号。目前编号有1-40但缺了很多和重复我已列出1-40道吗不之前列了编号1-40虽然有些编号有题但覆盖不完整实际上题号1-40都有。但第39和40已经出现我还想加入LVM等。我可以将题单设计为45道然后说“40道核心题5道延伸”或者重新组织为完整的40道涵盖磁盘。但要精细。让我先放下继续准备第4部分。我可以把40道题表中的内容重构补充磁盘LVM等。先确定最终40道题列表。最终40道题列表设计文件和权限1-8如何查看Linux系统发行版和内核版本Linux有哪些文件类型如何识别硬链接和软链接区别如何查找文件find和grep区别查看文件内容的常用命令如何查看目录占用空间chmod 754含义用户9-16 9. 如何新建用户并设置密码 10. su和sudo区别 11. /etc/passwd和/etc/shadow作用 12. 如何把用户加入组 13. 普通用户无法查看root创建的文件怎么办 14. setuid/SGID/sticky bit 15. 如何查看当前登录用户和命令历史 16. 用户和用户组的核心配置文件有哪些进程17-24 17. 如何查看系统进程 18. top中的us sy wa id含义 19. 如何查看CPU核数和内存 20. ps和top区别 21. 如何结束进程 22. 僵尸进程是什么怎么清理 23. 如何查看服务运行状态 24. systemd和init区别网络25-30 25. 如何查看IP和网关 26. 如何查看端口监听 27. 如何配置静态IP 28. ping通但ssh连不上怎么排查 29. DNS解析失败怎么排查 30. 如何修改主机名磁盘存储31-36 31. 如何查看磁盘和inode使用 32. 磁盘满排查步骤 33. LVM是什么怎么扩容 34. fdisk和parted区别 35. 什么是挂载如何临时/永久挂载 36. 如何查看某个目录下的大文件Shell与文本处理37-44 37. $? $0 $# $含义 38. for循环写法 39. crontab格式 40. grep awk sed区别 41. 统计IP访问次数 42. 排除注释行 43. watch用法 44. 脚本开机自启 45. awk与sed实战区别扩展这超过40了。也许我可以继续编号到45但标题说40道加上“再送5道常见大题”。但为简洁我可以宣称40道但实际展示45不行。 让我缩减到40道。将用户部分缩到8道进程部分8道等。最终40道查看系统/内核版本文件类型硬链接和软链接find和grep查看文件内容查看目录占用空间查看磁盘/inodechmod 754新建用户su sudopasswd/shadowsetuid/SGID/sticky当前登录用户和历史命令查看进程top us sy waps和top结束进程僵尸进程查看服务状态systemd init查看IP网关查看端口静态IPping通ssh不通DNS排查修改主机名LVM扩容fdisk parted挂载概念查找大文件磁盘满排查$? $0 $# $for循环crontabgrep awk sed统计IP次数watch脚本开机自启生产环境卡顿排查系统启动流程这样40道。第3-7等部分按题号归类这样更清晰。我可以把第2728293031放磁盘部分把35-38放Shell部分39-40综合场景。那第40题“系统启动流程”也要答。第39题“生产环境卡顿排查”在末尾深度展开。好现在4个H2里分别覆盖21-13文件和用户314-26进程和网络427-40存储、Shell、综合但出现一个问题Shell在第四部分。可接受。现在要确保答案每个都有。在表格中给简答。另外要包含5-6个H2。我需要满足主体≥5000字。表格中的内容也算字数但不要太多。深度拆解部分要详细。每个H2下至少一个小节我已经有。现在计划最终结构开头 300字1. 面试前先想明白Linux基础题到底在考什么1.1 为什么几乎每个岗位都要问Linux1.2 面试官心里那杆秤深度、广度、应变2. 40道题第1组文件、权限与用户13道2.1 文件管理与目录结构高频题1-82.2 用户、用户组与权限体系9-133. 40道题第2组进程、网络与系统管理13道3.1 进程管理与系统状态排查14-203.2 网络配置与常见故障排查21-264. 40道题第3组存储、Shell与综合题14道4.1 磁盘、文件系统与存储管理27-314.2 Shell脚本与文本处理32-384.3 综合场景与系统原理39-405. 十道必考题深度拆解从背答案到讲原理5.1 硬链接和软链接两种答法待遇完全不同5.2 top里的负载和CPU指标到底怎么讲5.3 僵尸进程和“处理不了”的处理方式5.4 LVM扩容现场推演5.5 生产环境突然卡顿你的第一反应是什么6. 面试现场的经验与避坑指南6.1 答题节奏先说结论再补细节6.2 高频翻车点命令背混了怎么办6.3 复习路线从广度到深度的三周计划结尾在6.3后面自然结束或用真实经验。可以以复习计划结束不另写总结。这样主体足够。需要注意不要使用 通过本文... 等。开头直接。现在写作注意字数。要详细展开。开始开头 我做了快十年Linux运维也面试过不少候选人... 约 250 字。内容详细每个答案要准确。细节在 H2 2 表格中有的答案会更详细但表格不能太长。我把答案写在表格中然后下面补充实战注意。第4部分的Shell题需要包含代码块。比如统计IP次数可以写成命令。代码块会占字数。深度拆解里可以写一些模拟问答展示候选人错误回答和正确回答。注意不要用太多列表适当。现在开始编写长文。我需要确保每段不少于150字。实际操作时很多段落可以。表格单元格不一定是段落。但为了安全正文段落必须。下面生成完整内容。 我做了快十年Linux运维也前前后后面试过不少候选人发现一个很现实的问题网上流传的Linux面试题大多停留在“背命令”层面背得熟不代表真会干。但反过来如果你连最基础的命令和概念都说不利索哪怕项目经验写得再漂亮面试官也很难相信你能独立处理生产环境的问题。今天这份题单是照着我自己面试时的提问习惯整理的。40道题覆盖文件权限、用户管理、进程网络、磁盘存储、Shell脚本和综合排障每题都有参考答案。部分高频题我还额外写了答题思路和实战避坑点因为很多候选人不是不会而是没理解面试官到底想问什么。1. 面试前先想明白Linux基础题到底在考什么很多候选人以为面试官问Linux命令是“随便考考”其实不是。基础题往往是一道筛选器用来判断你有没有真实的系统操作经验。你在面试里说的每一个参数、每一条排查路径都代表着你平时在服务器上是怎么干活的。1.1 为什么几乎每个岗位都要问Linux后端开发、运维、测试、DevOps甚至客户端开发只要涉及服务部署Linux都绕不开。面试官问Linux并不是指望你把所有命令倒背如流而是想看三件事第一你有没有在真实环境里操作过能不能说出命令背后的实际效果第二遇到问题时的排查思路是否清晰是先看日志还是先重启服务第三你对自己写的命令有没有把握知不知道哪些操作有风险比如rm -rf、chmod 777这类看似简单但容易闯祸的命令。所以你会发现同样一道“查看端口占用”的问题有的人只回答netstat -anp有的人会补充“我会先看ss -lntp再用lsof -i:8080定位是哪个进程”后者明显更有实战味道。我整理下面这份题单时特意在参考答案里加入了这类“真实操作时我会怎么说”的细节。你复习时不要只背答案要理解为什么这么答。1.2 面试官心里那杆秤深度、广度、应变我一般把Linux面试题分成三个层次。第一个层次是广度比如常用命令、文件权限、进程查看这属于“你用没用过”的问题。第二个层次是深度比如软硬链接的区别、inode满了怎么办、systemd的启动流程这类题能看出你是否理解底层原理。第三个层次是应变最典型的就是“服务器突然负载飙高你怎么排查”。这种开放题没有固定答案面试官想看你的排查顺序、工具选择以及面对生产变更时的风险意识。下面这40道题就是按这三个层次铺开的。我会在对应章节标出题目侧重你复习时也可以对照一下看自己是广度不足还是深度不够。2. 40道题第1组文件、权限与用户这部分是Linux的地基也是面试中出现频率最高的。很多运维场景最后都会落到“文件对不对”“权限够不够”上所以先把这块吃透。2.1 文件管理与目录结构高频题第一梯队先看文件相关的题。下面这8道题属于“一定要能脱口而出”的级别。序号面试题参考答案要点1如何查看Linux系统版本和内核版本查看发行版用cat /etc/os-release或cat /etc/redhat-release查看内核版本用uname -a或uname -r2Linux下有哪些文件类型普通文件-、目录d、字符设备c、块设备b、软链接l、套接字s、管道p用ls -l第一列可查看3软链接和硬链接的区别是什么硬链接共享同一个inode删除原文件不影响链接软链接是独立文件存储目标路径目标删除后失效硬链接不能跨文件系统不能链接目录4如何查找一个文件或目录用find /path -name xxx按名字找locate走索引速度快which找PATH下的可执行文件whereis可找二进制、源码和man手册5find 和 grep 的区别find是在磁盘上找文件可以按文件名、大小、时间条件过滤grep是在文件内容里找文本常结合管道使用6如何查看文件内容几种方式有什么区别cat全量输出less分页查看head/tail看头尾tail -f跟踪日志增长grep过滤关键字7如何查看某个目录占用了多少空间用du -sh /目录查看目录总大小用du -h --max-depth1看第一层子目录的占用排序排查哪个目录占满磁盘8一个日志文件有几十GB怎么定位异常片段先用tail或less定位大概时间点再用grep -n带行号过滤关键字取上下文用grep -C 5千万不要直接cat整个文件这里我想多说一句find的用法。生产环境里我经常看到有人用find / -name全盘找文件结果磁盘IO直接打满业务跟着抖动。正确做法是先限定范围精确到可能存在的目录再用-mtime、-size等条件缩小结果集。面试时能主动提到“尽量别全盘扫描”说明你有真实生产意识比单纯背命令强太多。2.2 用户、用户组与权限体系权限题几乎每场面试都会出现特别是chmod的数字含义和su、sudo的区别属于必问项。我挑了5道有代表性的放在这里。序号面试题参考答案要点9chmod 754 是什么意思7rwx属主权限5r-x属组权限4r--其他用户权限r4w2x1数字是权限值的加和10su 和 sudo 的区别su是切换用户需要目标用户密码可切换到rootsudo是临时提权执行单条命令只需要当前用户密码配合/etc/sudoers控制权限11如何新建用户并设置密码useradd test创建用户passwd test设置密码需要指定家目录和Shell时用useradd -m -s /bin/bash test12/etc/passwd 和 /etc/shadow 的作用passwd保存用户名、UID、GID、家目录、Shell等基础信息shadow保存加密后的密码和密码策略普通用户不可读13什么是setuid/SGID/sticky bitsetuid让程序执行时临时获得属主权限典型如passwdSGID让目录下新建文件继承属组sticky bit目录如/tmp只有属主和root能删除自己的文件第13题是很多人的知识盲区。我面试时问过好多次setuid能答上来的候选人不多。其实你平时执行passwd改密码就是setuid的典型例子——普通用户需要通过这个命令临时拿到root权限才能修改/etc/shadow。这个原理理解了后面再学容器特权模式、sudo配置都会更容易。3. 40道题第2组进程、网络与系统管理如果说文件和权限是“静态基础”那进程和网络就是Linux运维的日常主战场。下面的题我按实际使用频率排了序优先级高的题建议反复练习到能脱稿直接讲出来。3.1 进程管理与系统状态排查进程这块的重点不是背命令而是“看到输出能判断系统是否健康”。光会打top没用你得知道里面每一行数字代表什么。序号面试题参考答案要点14如何查看系统当前运行的进程ps -ef标准格式ps aux带CPU和内存百分比top动态刷新看实时负载15top输出中的us、sy、wa、id分别代表什么us用户态CPU、sy系统态CPU、wa等待IO、id空闲wa高说明磁盘IO有瓶颈us高说明CPU密集计算多16ps 和 top 的区别ps是拍快照查看某个时刻的进程状态top是实时刷新能观察到CPU和内存的动态变化17如何结束一个进程先ps -ef或pgrep -f拿到PID再kill PIDkill -15默认请求正常退出kill -9强制杀死批量结束用pkill -f 关键词18僵尸进程是什么怎么清理子进程结束后父进程没调用wait回收就变成僵尸不能直接kill僵尸进程需要杀掉父进程让init接管回收或重启服务19如何查看某个服务的运行状态systemctl status 服务名看服务状态ss -lntp看监听端口ps -ef20init 和 systemd 的区别init是串行启动的老系统机制systemd支持并行启动和依赖管理提供systemctl统一管理服务第18题僵尸进程我单独强调一下。面试时很多人只会说“kill掉就好了”但正确答案其实是“你kill不了僵尸进程因为进程已经死了只是没有被收尸”。正确做法是找到它的父进程检查父进程为什么不回收然后处理父进程。这个知识点很能反映你对Linux进程生命周期的理解比单纯背命令有价值得多。3.2 网络配置与常见故障排查网络题一般不会让你现场搭环境但会结合“连不上”这个具体场景来问核心是看你的排查顺序是否合理。序号面试题参考答案要点21如何查看本机IP和网关ip addr查看IPip route或route -n查看网关老命令ifconfig在新系统里可能未安装22如何查看端口监听状态ss -lntp查看所有监听端口ss -lntup加UDPlsof -i:8080查看某个端口被哪个进程占用23修改静态IP应该改哪个文件CentOS系为/etc/sysconfig/network-scripts/ifcfg-eth0Debian/Ubuntu系为/etc/network/interfaces或netplan配置新系统也可直接用nmcli管理24ping通但ssh连接不上怎么排查先确认sshd是否在监听再看防火墙firewalld或iptables是否放行22端口最后看服务是否启动日志在/var/log/secure25DNS解析失败怎么排查先ping网关确认网络通不通再用nslookup或dig 域名测试解析检查/etc/resolv.conf里的nameserver最后看/etc/nsswitch.conf中hosts解析顺序26如何修改主机名临时修改用hostnamectl set-hostname 新名字永久修改在CentOS系改/etc/hostname重登录或重启后生效第24题我几乎每次模拟面试都会问。你会发现思路清晰的候选人会说“先从链路层到网络层再到传输层一层层排查”而不是乱猜。我也建议你养成这个习惯先ping网关再ping外网再查端口再看服务再看日志。这个顺序在真实故障里能省下大量时间也更安全。4. 40道题第3组存储、Shell与综合题这部分题目偏深入也是拉开差距的地方。有些题平时不一定天天用但理解透了你对整个Linux系统会有更完整的认识。4.1 磁盘、文件系统与存储管理磁盘相关的问题在面试中出现率很高特别是inode和LVM属于“会的人不多但会了很吃香”的知识点。序号面试题参考答案要点27如何查看磁盘空间和inode使用情况df -h看磁盘容量df -i看inode数量inode满时即使有空间也创建不了文件28磁盘满了如何处理排查步骤是什么先df -h定位分区再du -sh /*逐层找出大目录清理日志或临时文件如果有进程占用已删除文件用lsof | grep deleted定位并重启进程29LVM是什么怎么扩容LVM是逻辑卷管理将物理卷组成卷组再从卷组划分逻辑卷扩容步骤是pvcreate建PV、vgextend扩容VG、lvextend扩LV最后resize2fs或xfs_growfs刷新文件系统30fdisk 和 parted 区别fdisk支持MBR分区表2T以上磁盘要配合GPTparted支持GPT适合超大磁盘和脚本化分区31什么是挂载如何临时或永久挂载挂载就是把文件系统关联到一个目录临时挂载用mount /dev/sdb1 /mnt永久挂载写入/etc/fstabumount卸载第29题LVM扩容我后面会专门展开这里先记住一个坑很多人在扩容LV之后忘了刷新文件系统导致容量没生效。文件系统类型不同刷新命令也不同。ext系用resize2fsxfs要用xfs_growfs这个细节最容易翻车。4.2 Shell脚本与文本处理Shell是区分“会用Linux”和“会玩Linux”的分水岭。面试题一般不会考太复杂的语法但变量、循环、定时任务、文本统计这些是高频考点。序号面试题参考答案要点32Shell脚本中 $?、$0、$#、$ 分别代表什么$?上一条命令的退出码$0脚本名$#参数个数$所有参数列表33如何写一个for循环遍历目录下的所有文件写法是for f in /path/*; do echo $f; done注意文件名含空格时变量要加引号34crontab中 */5 * * * * 代表什么每5分钟执行一次五个字段分别是分、时、日、月、周脚本路径要用绝对路径日志最好重定向35grep、awk、sed三者的核心区别grep擅长过滤行sed擅长流式编辑替换awk擅长按列处理和统计三件事经常搭配管道使用36如何统计access.log中每个IP的访问次数awk {print $1} access.log | sort | uniq -c | sort -rn37如何每隔1秒监控某个命令的结果使用watch -n 1 命令生产环境例如watch -n 1 ss -lntp38一个脚本需要开机自启动怎么做简单方式在/etc/rc.local里加启动命令并保证可执行推荐方式写systemd service单元文件用systemctl enable开启自启第36题是文本处理面试题里的经典组合因为它既考awk取列又考sort排序还考uniq去重计数。我基本每次面试都会把它当加分题。如果你能直接答出完整命令并且解释每个管道的作用那Shell这块基本就过关了。4.3 综合场景与系统原理最后两道题是整个题单的“收口题”没有唯一答案但能看出你的Linux整体认知。序号面试题参考答案要点39生产环境突然卡顿你的排查思路是什么先看uptime和top确认负载来源再按CPU、内存、磁盘IO、网络四个维度逐个排查最后结合dmesg和业务日志定位根因40Linux系统启动流程是怎样的固件BIOS/UEFI - 引导程序GRUB - 加载内核 - systemd/init作为1号进程启动 - 挂载根文件系统 - 启动系统服务第40题不用背得太细但几个关键环节要能说出来。面试官问启动流程其实是想确认你对系统整体有没有概念比如GRUB坏了怎么进单用户模式systemd出问题怎么修复这些都比单纯背流程更有价值。5. 十道必考题深度拆解从背答案到讲原理上面40道题你都能答出个大概已经能应对大多数面试了。但想要从“合格”到“加分”还需要把几道核心题讲出层次感。这里我挑几道最常问的用实战视角展开说一下。5.1 硬链接和软链接两种答法待遇完全不同低分答法“硬链接就是多个文件名指向同一个文件软链接就是快捷方式。”听起来没错但太单薄。高分答法应该包含硬链接共享同一个inode引用计数会加1删除一个链接只是把引用计数减1只有计数归0时数据块才会被真正释放。软链接是独立文件有自己的inode里面存的是目标路径。如果目标被删软链接就变成“悬空链接”。硬链接不能跨文件系统因为不同文件系统的inode编号空间独立。也不能对目录创建硬链接这是为了防环。实操场景备份时用硬链接做快照可以节省空间应用切换版本时用软链接指向当前目录可以快速回滚。面试官往往会在你答完之后追问一句“那硬链接的文件删了一个inode会怎么样”。你如果能接上“引用计数减一数据还在”这题就拿稳了。5.2 top里的负载和CPU指标到底怎么讲很多人会把load average等同于CPU使用率这是个常见误区。load average其实是“可运行进程数不可中断睡眠进程数”在1分钟、5分钟、15分钟内的平均值。只统计运行队列时它反映的是系统整体“繁忙程度”不只是CPU。讲这个指标时我建议你分两步。第一步看数值和核数对比四核机器load average到4左右才算满载到8就明显过载。第二步看趋势15分钟高、1分钟低说明问题在缓解反过来1分钟高、15分钟低说明负载是刚刚起来的需要重点排查。再配合top里的us、sy、wa状态比如wa高说明卡在IO上sy高说明系统调用和内核态开销大us高说明业务在烧CPU。这套组合拳打完面试官基本就认可你的排查能力了。5.3 僵尸进程和“处理不了”的处理方式我前面提过僵尸进程kill不掉这里再补充一个更完整的说法。Linux里每个进程退出后都会向父进程发送SIGCHLD信号父进程调用wait或waitpid来回收子进程的资源。如果父进程本身写得有问题一直不调用wait子进程的task_struct就无法释放变成僵尸状态。排查方法用ps -ef | grep defunct或者top里看到很多进程状态为Z。处理方式有两个方向一是找到僵尸进程的父进程重启这个父进程对应的服务僵尸由init/systemd接管并回收二是如果父进程恰好是PID 1通常只能重启系统。这个思路在面试里讲出来比单说“杀掉父进程”要可信得多。5.4 LVM扩容现场推演LVM题我一般会给出一个模拟场景服务器上挂了一块新磁盘/dev/sdb要把现有逻辑卷/data从500G扩到800G。很多候选人会卡在“忘了刷新文件系统”这一步。完整步骤是pvcreate /dev/sdb把新磁盘初始化为物理卷。vgextend vg_data /dev/sdb把物理卷加进卷组。lvextend -L 300G /dev/vg_data/data扩展逻辑卷。查看文件系统类型执行resize2fs /dev/vg_data/data或xfs_growfs /data刷新。最后用df -h确认容量生效。如果你多说一句“扩容前最好确认逻辑卷有快照或备份xfs支持在线扩但不支持缩容”面试官会觉得你是个稳的人。5.5 生产环境突然卡顿你的第一反应是什么开放题的重点不是背命令而是思路。我比较认可的答题顺序是先执行uptime看负载趋势用top看CPU和内存占用如果wa高就查IO用iostat -x 1看磁盘的util、svctm和await。如果CPU高就找进程用top -Hp PID看线程再用strace或perf工具做进一步分析。同时打开dmesg看内核日志排除OOM或硬件故障。最后查业务日志看是不是流量突增、慢SQL或依赖服务超时。这里有个关键细节不管原因是什么先确认有没有监控告警和变更记录。如果是刚发布过配置或者刚执行过批量任务大概率是变更引起的。这个步骤很多人会漏但在真实故障里往往是最快定位的路径。6. 面试现场的经验与避坑指南技术题会了还要会“表达”。我在面试里见过不少人明明懂却因为表达太乱被刷下去。这一节聊聊现场答题的经验。6.1 答题节奏先说结论再补细节我建议所有Linux问题都采用“结论先行”策略。比如面试官问“如何排查端口占用”你先说“先用ss -lntp看监听端口再用lsof确认进程”然后补一句“如果Java进程经常占用随机端口可能还要结合配置来看”。不要一上来就扯到内核参数、网络命名空间那样会把简单问题复杂化。同样遇到不会的题也不用慌面试官很多时候不期待你全对。你可以说“这块我平时接触不多但根据我的理解可能是……”然后给出一个至少方向正确的推理。最怕的是不懂装懂把错误答案说得特别满。6.2 高频翻车点命令背混了怎么办很多候选人会把ps -ef和ps aux混在一起说其实两者核心字段差异不大但ps aux里多了CPU和内存百分比而且有时会因为参数顺序问题报warning。这种细节不是致命伤但能体现出你到底是“背过”还是“用过”。另一个高频翻车点是chmod。我建议你别说“754就是7是读加写加执行5是读加执行4是只读”而是直接说“7所属用户rwx5所属组r-x4其他用户r--”。这样既准确又清晰。数字权限的本质就是把4、2、1加起来能随口说出这个算法的候选人通常是真的设过权限。还有就是在回答crontab时只回答五个字段会被追问。你可以主动补充“日志建议重定向到文件避免发邮件执行脚本要写绝对路径环境变量不会继承所以脚本里要重新定义PATH。”这些细节一说经验感马上出来。6.3 复习路线从广度到深度的三周计划如果离面试还有一段时间我建议按三周来系统过一遍。第一周先把上面40道题全部过一遍做到每个命令都手敲一遍不要只看答案。第二周重点练文本处理和进程排查把grep、awk、sed、top、ss、iostat这些命令组合起来用最好找一台自己装的虚拟机反复模拟故障。第三周再深挖原理比如软硬链接的inode机制、systemd的unit依赖、LVM的底层结构配合读一些man手册和源码文档。我个人的体会是Linux面试不考智商考的是日积月累的手感。很多题你第一次不会但只要真的在服务器上敲上一次就比背十遍答案都管用。遇到不懂的命令先man再--help最后去查系统里的示例配置这套习惯比任何面试速成材料都持久。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价