Skip to main content
Version: 1.0

Linux 基础体系

本篇覆盖 Linux 面试的基础考点:发行版区别、目录结构、文件系统(inode / block / 软硬链接)、权限体系、用户与用户组、进程与信号。这些是所有 Linux 面试的「地基」,概念必须张口就来。

1. 发行版区别​

系列代表发行版包管理工具
Red Hat 系RHEL、CentOS、Rocky Linuxyum、dnf
Debian 系Ubuntu、Debianapt

面试要点:

  • RHEL 是红帽官方商业版,CentOS 曾是 RHEL 的免费复刻版,CentOS 停维护后社区转向 Rocky Linux(由 CentOS 创始人发起)。
  • 企业生产环境主流使用 Rocky Linux 和 Ubuntu Server,答题时说出这一点即可体现对行业现状的了解。
  • 同一套运维技能在这两个系列间迁移成本很低,主要差别就是包管理命令(yum / apt)和部分配置文件路径。

2. 目录结构及常用目录作用​

Linux 一切皆文件,整个系统是一棵以 / 为根的目录树。面试常考「以下目录分别放什么」:

目录作用面试记忆点
/根目录所有文件和目录的起点
/boot系统启动文件内核、引导程序(grub)存放位置
/etc配置文件目录系统所有服务的配置文件都在这,非常重要(nginx.conf、sshd_config 等)
/home普通用户家目录每个用户一个子目录,如 /home/tom
/var动态数据目录日志、数据库数据、缓存文件都在这里(/var/log、/var/lib/mysql)
/usr软件安装目录系统软件和用户安装的应用程序
/dev设备文件目录硬盘、网卡等设备以文件形式呈现(如 /dev/sda)
/proc伪文件系统存放内核实时状态信息(如 /proc/cpuinfo),重启失效、不占磁盘
/tmp临时文件目录系统会自动清理旧文件,不要放重要数据

记忆技巧: 配置找 /etc,日志找 /var/log,装软件找 /usr,看内核状态找 /proc。

3. 文件系统基础​

3.1 inode 与 block​

硬盘格式化后划分为两部分:

  • inode(索引节点):记录文件的元信息——文件大小、权限、属主属组、时间戳、数据块指针等。注意:inode 不存放文件名,文件名存放在所在目录的 block 中(这就是「文件名只是目录里的一个条目」的本质)。
  • block(数据块):实际存放文件内容的数据单元。

衍生考点: 磁盘还有空间却创建文件失败——可能是 inode 用尽(海量小文件场景),用 df -i 查看 inode 使用率。

3.2 软链接 vs 硬链接(高频)​

对比项软链接(符号链接)硬链接
本质一个独立文件,存放指向源文件的路径多个文件名指向同一个 inode
类比Windows 快捷方式同一个文件的不同名字
源文件删除后链接失效(悬空链接)文件仍然存在(inode 引用计数减 1,减到 0 才真正释放)
跨分区可以跨分区不能跨分区(inode 只在本分区内有意义)
目录可以对目录创建不能对目录创建硬链接
ln -s /data/app.log app_soft_link # 软链接
ln /data/app.log app_hard_link # 硬链接

3.3 权限体系​

Linux 文件权限分三组(属主 u、属组 g、其他人 o),每组三种权限:

权限字符数字值对文件对目录
读r4查看内容列出文件名
写w2修改内容增删文件
执行x1执行程序进入目录
  • 数字权限示例:rwxr-xr-- = 754。
  • 特殊权限: SUID(执行时临时获得属主身份,如 passwd 命令)、SGID(目录内新文件继承属组)、Sticky 位(目录内只有文件属主能删除自己的文件,如 /tmp)。
  • chmod 修改权限,chown 修改属主属组:
chmod 755 run.sh # 数字方式
chmod u+x run.sh # 符号方式
chown tom:dev data.txt # 属主:属组

4. 用户和用户组​

三个核心配置文件:

文件存放内容注意点
/etc/passwd用户基础信息(用户名、UID、家目录、默认 Shell)所有用户可读
/etc/shadow加密密码及密码策略普通用户无读取权限
/etc/group用户组信息组名、GID、组内成员

常用命令:

useradd tom # 新建用户
usermod -aG docker tom # 修改用户(把 tom 追加到 docker 组)
passwd tom # 设置/修改密码
sudo apt install nginx # 以管理员权限执行命令
  • sudo 权限由 /etc/sudoers 控制,推荐用 visudo 编辑(保存时做语法检查,避免写错导致所有人无法提权)。

5. 进程基础​

5.1 基本概念​

  • 进程:程序的一次运行实例,是资源分配的基本单位。
  • 线程:进程内的执行单元,是 CPU 调度的基本单位,同进程内线程共享内存。
  • 父子进程:子进程由父进程创建(fork),父进程通过 wait 回收子进程资源。

5.2 僵尸进程与孤儿进程(高频)​

类型产生原因结局
僵尸进程子进程已退出,但父进程没有回收子进程的退出状态资源占用进程号资源;杀掉父进程后由 init 接管并回收
孤儿进程父进程提前退出,子进程还在运行由 init(1 号进程)接管,之后正常回收,无害

答题要点: 僵尸进程是「子死父没收尸」,孤儿进程是「父先死子被 init 收养」。孤儿进程无害,僵尸进程大量堆积会耗尽进程号。

5.3 后台运行:& 与 nohup​

  • command &:放到后台运行,但仍挂在当前终端下——终端关闭 / 断开 SSH,进程会随终端收到挂断信号(SIGHUP)而退出。
  • nohup command &:nohup 让进程忽略挂断信号、脱离终端运行,输出默认写入 nohup.out,配合 & 才是真正的「关掉终端也继续跑」。

5.4 常用信号​

信号触发方式特点
SIGINTCtrl+C终止前台进程,可被捕获
SIGTERMkill <pid> 默认发送正常终止信号,进程可捕获并做清理,可被忽略
SIGKILLkill -9 <pid>强制杀死进程,无法被捕获、忽略或阻塞

答题要点: 优雅关闭优先 kill(SIGTERM)给进程清理资源的机会;进程卡死无响应时才用 kill -9,但可能造成数据未落盘。

本篇速记​

  • 生产主流发行版:Rocky Linux、Ubuntu Server;包管理 yum/dnf vs apt。
  • /etc 配置、/var 日志、/proc 内核实时状态(重启失效)。
  • 软链接是路径(可跨分区、源删失效);硬链接是同一 inode(不可跨分区、不可对目录)。
  • 僵尸进程 = 子死父未回收;孤儿进程 = 父先死、init 接管。
  • & 只进后台,nohup 才能脱离终端;kill -9 不可捕获。