Linux 高频面试题(50道 + 详细答案)

✅ 覆盖:基础概念、文件系统、安全加固、性能排查、常用命令、实战场景等

🎯 适用于运维工程师、后端开发、DevOps、SRE 等岗位


一、Linux 基础与概述

1. 什么是 Linux?

Linux 是一套免费、开源、类 Unix的多用户、多任务操作系统,支持多线程和多 CPU。

  • 基于 POSIX 标准
  • 继承 Unix "一切皆文件" 和 "网络为核心" 的设计思想
  • 广泛用于服务器、嵌入式、云计算等领域

💡 Web 项目几乎全部部署在 Linux 上。


2. Windows 和 Linux 的区别?

对比项 Windows Linux
授权 商业闭源,需付费 开源免费
用途 桌面娱乐、办公 服务器、开发、高性能计算
界面 图形化为主,效果绚丽 CLI 为主,GUI 可选
性能 资源占用高 轻量高效,可深度优化
安全性 易受病毒攻击 权限控制严格,更安全

✅ 普通用户用 Windows,开发者/运维用 Linux。


3. Unix 和 Linux 的区别?

特性 Unix Linux
开源性 闭源商业软件(如 AIX、Solaris) 完全开源(GPL 协议)
跨平台 依赖特定硬件(如 Sun SPARC) 支持 x86/ARM 等多种架构
成本 昂贵 免费
用户群体 银行、电信等大型企业 个人、中小企业、互联网公司
GUI 多为纯命令行 支持 KDE、GNOME 等桌面环境

🌟 Linux 是 Unix 的"平民版",功能强大且免费。


4. 什么是 Linux 内核?

内核是 Linux 系统的核心,负责:

  • 内存管理
  • 进程调度
  • 设备驱动
  • 文件系统管理
  • 系统调用接口

🔧 用户不能直接操作硬件,必须通过内核。


5. Linux 的基本组件有哪些?

  • 内核(Kernel):核心控制
  • Shell:命令解释器(如 Bash)
  • GUI(可选):图形界面(如 GNOME)
  • 系统工具ls, cp, grep
  • 应用程序:Nginx、MySQL、Docker 等

6. Linux 体系结构?

分为两大空间:

空间 组件
用户空间(User Space) 应用程序、C 库(glibc)
内核空间(Kernel Space) 系统调用接口、内核、硬件相关代码

🔒 分离目的:保护内核安全,防止用户程序直接操作硬件。

🔄 切换方式:系统调用硬件中断


7. BASH 和 DOS 的区别?

特性 BASH(Linux) DOS(Windows)
大小写 区分大小写 不区分
路径分隔符 / 是目录分隔符 \ 是目录分隔符
转义字符 \ 用于转义 / 用于参数
文件名规则 无限制 8.3 格式(如 FILENA~1.TXT

8. Linux 开机启动过程?

  1. BIOS 自检(POST)
  2. 加载 MBR 中的引导程序(GRUB/LILO)
  3. GRUB 加载 Linux 内核
  4. 内核初始化硬件,挂载根文件系统
  5. 启动第一个进程 init(PID=1)
  6. 根据 /etc/inittab 进入运行级别
  7. 启动服务,显示登录界面

⚙️ 现代系统多用 systemd 替代 init。


9. Linux 默认运行级别?

级别 说明
0 关机
1 单用户模式(维护用)
2 多用户,无网络
3 多用户,命令行(服务器默认
4 未使用
5 多用户,图形界面(桌面默认)
6 重启

💡 CentOS 7+ 使用 systemctl get-default 查看。


10. Linux 进程间通信(IPC)方式?

  1. 管道(pipe):匿名,父子进程通信
  2. 命名管道(FIFO):有路径,任意进程通信
  3. 信号(signal) :如 kill -9
  4. 消息队列(Message Queue)
  5. 共享内存(Shared Memory):最快
  6. 信号量(Semaphore):用于同步
  7. 套接字(Socket):跨网络通信

11. 重要系统日志文件?

  • /var/log/messages:系统综合日志(最重要)
  • /var/log/secure:SSH 登录日志
  • /var/log/cron:定时任务日志
  • /var/log/maillog:邮件日志
  • /var/log/dmesg:内核启动日志

🔍 入侵排查首选 /var/log/securemessages


12. 安装多个桌面环境有帮助吗?

  • 不推荐
  • 不同桌面(KDE/GNOME/XFCE)可能冲突
  • 某些应用只兼容特定环境
  • 增加资源消耗和安全风险

✅ 服务器应禁用 GUI,桌面用户选一个即可。


13. 什么是交换空间(Swap)?

当物理内存(RAM)不足时,系统将部分内存数据临时存放到磁盘的 Swap 分区,以避免 OOM(Out of Memory)。

  • 类似 Windows 的虚拟内存
  • 速度远慢于 RAM,仅作应急

⚠️ 云服务器常关闭 Swap(如阿里云建议)。


14. 什么是 root 账户?

  • 超级管理员账户
  • UID = 0
  • 拥有系统最高权限
  • 可创建/删除用户、修改任何文件、安装软件等

🔒 生产环境应禁止 root 直接登录!


15--18. 常见术语解释

术语 说明
LILO 早期 Linux 引导加载器(现多用 GRUB)
BASH Bourne Again Shell,Linux 默认 shell
CLI 命令行界面,高效、低资源
GUI 图形用户界面,易用但资源消耗大

19--20. 开源与 GNU

  • 开源优势:免费、透明、社区协作、快速迭代
  • GNU 项目:由 RMS 发起,提供自由软件生态(如 GCC、Glibc),Linux 内核 + GNU 工具 = 完整操作系统

🐧 正确称呼应为 GNU/Linux


二、文件系统与磁盘管理

21. Linux 文件系统核心思想?

"一切皆文件"(Everything is a file)

  • 普通文件、目录、设备(/dev/sda)、进程(/proc/123)都视为文件
  • 通过统一接口(open/read/write)访问

22. Linux 目录结构(FHS 标准)

目录 作用
/bin 基础命令(ls, cp
/sbin 系统管理命令(ifconfig, reboot
/etc 配置文件
/home 普通用户家目录
/root root 用户家目录
/usr 应用程序(类似 Windows Program Files)
/opt 第三方软件(如 Tomcat)
/var 可变数据(日志、缓存)
/tmp 临时文件
/proc 虚拟文件系统,反映内核和进程状态
/dev 设备文件
/lib 系统库文件
/boot 启动文件(内核、grub)
/mnt 临时挂载点
/lost+found 文件系统修复残留文件

23. 什么是 inode?

  • inode(索引节点) 存储文件的元信息:
    • 文件大小、权限、所有者、时间戳
    • 指向数据块的指针(13 个直接/间接块)
  • 文件名 ≠ inode,文件名只是目录项到 inode 的映射

🔗 删除文件 = 删除目录项,inode 和数据块在无引用时才释放。


24. 硬链接 vs 软链接(符号链接)

特性 硬链接 软链接
inode 与原文件相同 新建 inode
跨分区 ❌ 不支持 ✅ 支持
目录链接 ❌ 仅 root 可创建 ✅ 支持
原文件删除 数据仍存在(链接数 > 0) 链接失效(悬空)
命令 ln file link ln -s file link

✅ 实际多用软链接(灵活、安全)。


25. RAID 是什么?

RAID(独立磁盘冗余阵列):将多个硬盘组合成逻辑卷,提升性能或可靠性。

级别 特点
RAID 0 条带化,高性能,无冗余
RAID 1 镜像,高可靠,容量减半
RAID 5 条带+奇偶校验,兼顾性能与容错(坏1块盘可恢复)
RAID 10 RAID 1+0,高性能+高可靠,成本高

☁️ 云环境多用云盘(自动三副本),无需手动 RAID。


三、安全加固

26. Linux 初始化后安全措施?

  1. 禁用 root 登录 ,创建普通用户 + sudo
  2. 修改 SSH 端口(如 22 → 22222)
  3. 启用密钥登录,禁用密码认证
  4. 配置防火墙iptables / firewalld
  5. 关闭 SELinux(或设为 permissive)
  6. 安装 fail2ban 防暴力破解
  7. 限制 IP 访问(仅允许可信 IP 登录)
  8. 最小权限原则 :Web 服务用 www 用户运行
  9. 定期更新系统yum update

27. CC 攻击 vs DDOS 攻击?

攻击类型 原理 防御
CC 攻击 模拟大量用户请求动态页面(如登录接口) WAF、限流、验证码
DDOS 攻击 利用僵尸网络耗尽带宽/CPU 流量清洗(ISP/云厂商提供)

🌪️ 两者本质都是"资源耗尽型"拒绝服务攻击。


28. SQL 注入是什么?如何防御?

  • 原理:用户输入未过滤,拼接到 SQL 语句中执行
  • 危害:脱库、删表、提权
  • 防御
    • 使用预编译语句(PreparedStatement)
    • 输入验证 + 白名单
    • Web 层部署 WAF(如 Nginx + ModSecurity)

29. Shell 脚本是什么?

  • 包含一系列命令的文本文件(.sh
  • 用于自动化任务:备份、监控、部署等
  • 执行方式:bash script.shchmod +x script.sh && ./script.sh

四、实战与运维

30. 如何选择 Linux 发行版?

场景 推荐系统
桌面用户 Ubuntu
企业服务器 CentOS / Rocky Linux / AlmaLinux
高安全性 Debian / FreeBSD
新技术尝鲜 Fedora
商业支持 RHEL / SUSE

✅ 互联网公司主流:CentOS 7/8Rocky Linux(替代 CentOS)


31. 如何规划一台 Linux 主机?

  1. 明确用途:Web / DB / 缓存 / 日志?
  2. 硬件选型:CPU/内存/磁盘/网络
  3. 系统安装 :最小化安装 + 分区(/, /var, /home 分离)
  4. 安全加固:如上第 26 条
  5. 性能调优:内核参数、文件描述符、TCP 优化等

32. 用户反馈网站访问慢,如何排查?

排查步骤:
  1. 确认问题范围:自己能否复现?是否全用户慢?
  2. 浏览器调试:看是 HTML/CSS/JS/图片/接口慢?
  3. 服务器资源
    • top / htop:CPU、内存
    • sar / iftop:网络带宽
    • iostat:磁盘 I/O
  4. 应用层
    • Web 日志(Nginx access.log)
    • 慢查询日志 (MySQL slow_query_log
  5. 外部因素:CDN、DNS、跨运营商
解决方案:
  • 带宽不足 → 升级带宽 or CDN
  • 数据库慢 → 优化 SQL、加缓存(Redis)、读写分离
  • 代码问题 → Profiling、异步化
  • 架构瓶颈 → 微服务、负载均衡

33. Linux 性能调优方法?

  1. 关闭无用服务(systemctl disable xxx
  2. 禁用 GUI(服务器)
  3. 调整内核参数(/etc/sysctl.conf):
    • net.core.somaxconn
    • vm.swappiness
    • fs.file-max
  4. 文件系统优化:ext4 → xfs,挂载选项 noatime
  5. 网络调优:TCP 缓冲区、TIME_WAIT 复用

五、常用命令速查(高频考点)

34. 核心命令分类

文件操作
复制代码
cd /path          # 切换目录
pwd               # 显示当前路径
ls -alh           # 列出详细信息(含隐藏文件)
touch file        # 创建空文件
mkdir -p dir      # 递归创建目录
cp -r src dst     # 复制目录
mv old new        # 移动/重命名
rm -rf dir        # 强制删除(慎用!)
文件查看
复制代码
cat file          # 全文输出(小文件)
more file         # 分页查看(不支持回滚)
less file         # 分页查看(支持上下滚动)
tail -f log       # 实时查看日志
head -n 10 file   # 查看前10行
搜索与过滤
复制代码
grep "error" log          # 搜索关键词
ps aux | grep nginx       # 查找进程
find / -name "*.log"      # 全局查找文件
压缩解压
复制代码
tar -zcvf archive.tar.gz dir/   # 压缩
tar -zxvf archive.tar.gz        # 解压
系统状态
复制代码
top               # 实时进程监控
free -m           # 内存使用
df -h             # 磁盘空间
netstat -tunlp    # 查看端口占用
ss -tuln          # 更快的 netstat 替代
编辑器(vim)
  • i → 插入模式
  • Esc → 命令模式
  • :wq → 保存退出
  • :q! → 强制退出
  • /keyword → 搜索
  • dd → 删除一行
  • yy + p → 复制粘贴
其他实用命令
复制代码
ping ip           # 测试连通性
ifconfig / ip a   # 查看 IP
date              # 查看时间
ntpdate ntp.aliyun.com  # 同步时间
reboot            # 重启
halt              # 关机
rz / sz           # 上传下载文件(需 lrzsz)
相关推荐
虹科测试测量2 小时前
德思特干货 | 单通道、多通道衰减器与衰减矩阵:如何选择合适的衰减方案
服务器·测试工具·算法·矩阵
z***39622 小时前
Nginx中如何配置WebSocket代理?
运维·websocket·nginx
今晚务必早点睡2 小时前
云服务器公共镜像怎么选?一文带你看懂 Ubuntu、Debian、CentOS、Rocky 的最佳使用场景
服务器·ubuntu·debian
忆林5202 小时前
请求服务任何资源(静态/动态)都返回主页数据?多nginx针对单域名的多服务配置
运维·nginx
FLPGYH2 小时前
BMC 深度解析:服务器带外管理的核心技术架构与实践
linux·服务器·c++·驱动开发
史丹利复合田3 小时前
在openEuler上安装Atune并成功运行
linux
q***44923 小时前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
夏鹏今天学习了吗3 小时前
【LeetCode热题100(69/100)】字符串解码
linux·算法·leetcode
Splashtop高性能远程控制软件3 小时前
行业观察 | 微软修复63个漏洞,包含零日与CVSS 9.8关键漏洞
运维·安全·microsoft·自动化·远程桌面·splashtop