当前位置:首页>Linux>面试干货01|Linux&Shell高频面试题,开发运维必背!

面试干货01|Linux&Shell高频面试题,开发运维必背!

  • 2026-10-11 07:00:37
面试干货01|Linux&Shell高频面试题,开发运维必背!

💡封面摘要:

吃透Linux核心命令 + Shell手写脚本,搞定80%开发/运维/大数据面试基础题,刷题直接上岗!

不管是后端开发、大数据开发,还是运维、测试岗位,Linux 和 Shell 脚本都是面试必考的基础核心!

很多面试官的共识:能熟练玩转Linux命令、写得懂Shell脚本,是程序员基本功的最好证明。

很多同学面试翻车,不是算法不行,而是基础不扎实、脚本写不出来、线上排查说不出流程。

为了帮大家系统刷题、高效备战面试,我正式开启 【面试干货系列】,每期只更高频、硬核、可直接面试默写的考点和真题。

本期是第一期:Linux & Shell,整理全网最高频面试考点 + 10道大厂手写脚本真题,看完直接背诵、笔试机试直接满分!

一、Linux 核心基础面试题(高频必问)

1、简述 Linux 常见文件类型

Linux 核心思想:一切皆文件。面试常考6种文件类型:

1. 普通文件(-):日志、代码、文本等日常文件

2. 目录文件(d):文件夹,用于文件管理

3. 链接文件(l):软链接,等同于Windows快捷方式

4. 设备文件(b/c):块设备(磁盘/U盘)、字符设备(键盘/鼠标)

5. 管道文件(p):进程间通信专用文件

6. 套接字文件(s):网络跨进程通信文件

💡面试加分点:Linux 不靠后缀区分文件类型,后缀仅用于人工识别,系统通过文件头标识判断类型。

2、绝对路径和相对路径的区别

- 绝对路径:从根目录  /  起始的完整路径,全局唯一、任意目录可访问

示例: /home/user/test.sh 

- 相对路径:基于当前所在目录的路径,切换目录后失效

示例: ./test.sh 、 ../log/ 

💡工作规范:定时任务、服务脚本、配置文件必须使用绝对路径,规避环境切换导致的执行失败。

3、Linux 权限 rwx 数值与含义

文件权限分为:所有者、所属组、其他用户 三组

权限固定数值:

-  r  读 = 4

-  w  写 = 2

-  x  执行 = 1

- 无权限 = 0

高频权限组合:

-  755 :目录默认权限(所有者全权限,其他人只读执行)

-  644 :普通文件默认权限(所有者读写,其他人只读)

-  777 :全开权限(生产环境禁止使用,存在重大安全隐患)

4、find 和 grep 命令核心区别(高频对比题)

两道命令核心定位完全不同,面试必问:

- find:按【文件属性】查找

查找维度:文件名、大小、时间、权限、类型

示例: find ./ -name "*.log" 

- grep:按【文件内容】匹配

查找维度:文本关键词、字符串

示例: grep "error" test.log 

5、Linux 五大进程状态

- R:运行/就绪状态,等待CPU调度执行

- S:可中断休眠,等待资源(系统绝大多数进程常态)

- D:不可中断IO休眠,无法被kill终止

- Z:僵尸进程,子进程退出、父进程未回收资源(需要清理)

- T:暂停状态,手动暂停/调试暂停

6、进程查看与终止命令

查看进程

-  ps -ef :静态查看系统所有进程(面试首选)

-  top :动态实时查看CPU、内存、进程占用

终止进程

-  kill -15 PID :优雅终止(默认),允许进程保存数据、释放资源

-  kill -9 PID :强制终止,直接杀死进程(仅卡死异常时使用)

7、线上日志查看常用命令

线上排查问题刚需,开发运维通用:

-  cat :查看小文件完整内容

-  head -n :查看文件前N行

-  tail -n/-f :查看末尾内容、实时滚动监控日志

-  less/more :分页查看大文件,支持翻阅检索

二、Shell 脚本高频基础面试题

1、Shell 脚本四种执行方式

1.  ./test.sh :子进程执行,需要执行权限x

2.  sh/bash test.sh :指定解释器执行,无需执行权限

3.  source/. test.sh :当前终端进程执行,环境变量修改全局生效

4.  sh test.sh & :后台挂机执行

💡核心考点:环境变量、配置脚本必须用  source ,子进程执行无法生效变量。

2、Shell 特殊参数含义(必考)

-  $0 :当前脚本名称

-  $1~$9 :脚本第1-9个入参

-  $# :传入参数总个数

-  $@ :所有参数(独立个体,遍历无坑,工作首选)

-  $* :所有参数(整体字符串,易出BUG)

3、if 条件高频判断参数

文件判断

-  -e :文件/目录是否存在

-  -f :是否为普通文件

-  -d :是否为目录

数值判断

-  -eq :等于

-  -ne :不等于

-  -gt :大于

-  -lt :小于

4、for / while 核心循环语法

for 遍历循环

while 逐行读取(日志处理常用)

5、脚本后台不挂断运行

生产标准写法:

作用:退出终端不终止进程,日志统一落地文件。

6、 2>&1  经典面试题解析

-  1 :标准正常输出日志

-  2 :标准错误报错日志

-  2>&1 :将错误日志重定向合并到正常日志,统一归档、方便排查

三、综合实操面试问答(面试官高频追问)

1、服务器磁盘爆满完整排查流程

1.  df -h  查看磁盘分区占用,定位爆满盘符

2.  du -sh /*  逐层查找大文件/大目录

3. 进入高占用目录,精准定位冗余日志、垃圾文件

4. 禁止 rm 删除正在写入的日志(空间不释放、占用内存)

5. 正确清空方式: > 文件名.log 

2、实时过滤线上报错日志

实时监控报错信息,快速定位线上故障。

3、Shell 脚本调试方法

1.  sh -x test.sh :分步打印执行过程,精准定位报错行

2. 脚本头部添加  set -e :出错立即退出,避免错误累积

四、大厂手写 Shell 真题10道(带标准答案)

笔试、机试、实操必考!可直接默写、线上可直接运行

真题1:批量将所有 .txt 文件改为 .bak

✅考点:Shell变量后缀截断

真题2:统计日志中 error 总条数

✅参数: -r 递归、 -i 忽略大小写

真题3:判断脚本入参是否为空,为空提示用法

真题4:查找指定目录大于100M的文件

真题5:批量清理30天前过期日志

✅企业通用定时清理方案

真题6:Shell实现1~100累加求和

真题7:逐行读取文件内容并输出

真题8:检测进程不存在则提示重启

✅考点: grep -v grep  过滤自身进程

真题9:查看CPU/内存占用TOP5进程

真题10:批量杀死指定业务进程

✅面试话术:生产优先  kill -15  优雅退出,异常卡死再用  kill -9 

五、文末总结

本期内容覆盖 80%+ Linux&Shell 面试考点,适配校招、社招、后端、大数据、运维全岗位:

✅ Linux:权限管理、进程状态、磁盘排查、日志分析、文件检索

✅ Shell:参数语法、循环判断、日志重定向、后台任务、批量脚本实操

🔥 本系列持续更新,专门帮大家短时间突击面试、稳稳拿Offer!

下期预告:面试干货02|Java基础高频面试题+手写代码模板!

💡 关注我

持续更新【面试干货系列】、后端/大数据实战技术、踩坑经验、求职技巧!

所有文章真题均可直接收藏背诵,面试不用到处找资料,跟着系列刷就够了。

✨ 点赞+在看,更新不迷路!

最新文章

随机文章