Files

9.8 KiB
Raw Permalink Blame History

title, date, slug, draft, categories, tags, author, layout
title date slug draft categories tags author layout
0603 Linux 运维面试题 2026-06-03T00:00:00.000Z 202606031527 false
笔记
Linux
小赵 post

涵盖:硬件与系统、文件目录、命令、用户与权限、定时任务、网络与基础架构、翻译


第1章 硬件与系统

1.1 简述 CentOS 7 运行级别

级别 含义
0 关机(poweroff.target)
1 单用户模式(rescue.target)
2 多用户模式,无网络(multi-user.target)
3 完整多用户模式,命令行(multi-user.target)
4 保留未使用
5 图形界面模式(graphical.target)
6 重启(reboot.target)

查看/切换命令:

systemctl get-default
systemctl set-default graphical.target

1.2 简述你上家公司用的操作系统版本及内核版本

# 查看系统版本
cat /etc/redhat-release
cat /etc/os-release

# 查看内核版本
uname -r
uname -a

1.3 简述常见 RAID 级别及应用场景

RAID 磁盘数 利用率 冗余 读写性能 适用场景
RAID 0 ≥2 100% 无 最高 性能要求高,数据不重要(如缓存)
RAID 1 2 50% 有 读快写慢 系统盘、数据安全要求高
RAID 5 ≥3 (n-1)/n 有 读快写慢 读多写少,存储容量与冗余兼顾
RAID 6 ≥4 (n-2)/n 双重 读快写更慢 大容量存储,允许两块盘故障
RAID 10 ≥4(偶数) 50% 有 高 高并发读写,数据库、核心业务

1.4 简述企业硬件服务器增加一块磁盘步骤和命令

  1. 物理安装:关机插入磁盘(或热插拔)
  2. 扫描识别:echo "- - -" > /sys/class/scsi_host/host0/scan 或重启
  3. 查看磁盘:fdisk -l / lsblk
  4. 分区(<2T 用 fdisk,>2T 用 parted/gdisk)
  5. 格式化:mkfs.xfs /dev/sdb1 或 mkfs.ext4
  6. 挂载:mkdir /data && mount /dev/sdb1 /data
  7. 写入 fstab:echo "/dev/sdb1 /data xfs defaults 0 0" >> /etc/fstab

1.5 什么是 inode,什么是 block

  • inode(索引节点):存储文件的元数据(权限、所有者、时间戳、大小、指针等),每个文件对应一个 inode,文件名存在目录中
  • block(数据块):存储文件的实际内容,默认 4KB,是文件系统读写的基本单位

1.6 /etc/fstab 含义及每一列含义

/dev/sda1  /boot  xfs  defaults  0  0
列 含义
1 设备名或 UUID
2 挂载点
3 文件系统类型
4 挂载选项(defaults 等)
5 dump 备份标记(0=不备份,1=备份)
6 fsck 检查顺序(0=不检查,1=根目录优先,2=其他)

1.7 简述软硬连接的区别

特性 硬链接 软链接(符号链接)
本质 同一 inode 的多个文件名 独立的 inode,指向目标路径
跨分区 不支持 支持
跨文件系统 不支持 支持
对目录 不支持 支持
源文件删除 仍可访问 失效(dangling link)
创建命令 ln ln -s

1.8 大于 2T 和小于 2T 的磁盘分区命令

  • < 2T:fdisk /dev/sdb
  • > 2T:parted /dev/sdb 或 gdisk /dev/sdb(GPT 分区表)

1.9 说一说你公司物理服务器配置

(根据实际情况回答,示例)

  • CPU:2 颗 Intel Xeon E5-2680 v4,共 28 核 56 线程
  • 内存:256GB DDR4 ECC
  • 磁盘:4 块 2TB SAS 盘做 RAID 10 + 2 块 480GB SSD 做 RAID 1
  • 网卡:双万兆光口 + 四千兆电口
  • 电源:双冗余电源

1.10 简述上不了网的排查思路

  1. 检查物理连接:ip link / ethtool eth0
  2. 检查 IP 配置:ip addr / ifconfig
  3. 检查路由:ip route / route -n
  4. 检查 DNS:cat /etc/resolv.conf / nslookup baidu.com
  5. 检查网关连通:ping 网关IP
  6. 检查防火墙:iptables -L / firewall-cmd --state
  7. 检查 SELinux:getenforce
  8. 抓包分析:tcpdump -i eth0

第2章 文件目录

2.1 文件位置与名称

文件 路径
网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0(CentOS 7)
DNS 配置文件 /etc/resolv.conf
系统定时任务文件 /etc/crontab
用户定时任务文件 /var/spool/cron/用户名
系统环境变量 /etc/profile / /etc/bashrc
本地域名解析文件 /etc/hosts
用户信息文件 /etc/passwd / /etc/shadow
开机自启文件 /etc/rc.local(需 chmod +x)
开机自动挂载文件 /etc/fstab

2.2 目录/文件功能

路径 功能
/dev 设备文件目录
/etc/rc.local 开机自定义启动脚本
/etc/inittab 运行级别配置文件(CentOS 7 已弃用)
/var/log/secure 安全日志(登录、sudo 等)
/mnt 临时挂载点
/var/log/cron 定时任务执行日志
/proc/loadavg 系统平均负载信息
/proc/cpuinfo CPU 详细信息

第3章 命令

3.1 创建目录

mkdir -p /oldboy/test

3.2 创建 10 个文件

# 方法1
touch /oldboy/test/file{01..10}.txt

# 方法2
cd /oldboy/test && for i in $(seq -w 1 10); do touch file$i.txt; done

3.3 查找并复制(两种方法)

# 方法1:find + cp
find /etc -name "*.txt" -mtime +7 -size +1k -exec cp {} /tmp \;

# 方法2:find + xargs
find /etc -name "*.txt" -mtime +7 -size +1k | xargs -I {} cp {} /tmp/

3.4 查找并打包压缩(两种方法)

# 方法1:find + tar
find /etc -name "*.txt" -mtime +7 -size +1k -exec tar czf /tmp/etc_txt_$(date +%F).tar.gz {} +

# 方法2:find + xargs + tar
find /etc -name "*.txt" -mtime +7 -size +1k | xargs tar czf /tmp/etc_txt_$(date +%F).tar.gz

3.5 解压

tar -xzf test.tar.gz -C /root

3.6 取 IP 地址(至少 2 种)

# 方法1
ip addr show | grep "inet " | awk '{print $2}' | cut -d/ -f1

# 方法2
ifconfig | grep "inet " | awk '{print $2}'

# 方法3
hostname -I

3.7 查看文件权限

stat -c %a /tmp/file.txt
# 或
ls -l /tmp/file.txt | awk '{print $1}'

3.8 只输出 /etc/passwd 最后一列

awk -F: '{print $NF}' /etc/passwd
# 或
cut -d: -f7 /etc/passwd

3.9 替换内容

sed -i 's/oldboy/oldgirl/g' /oldboy/file.txt

3.10 统计 nologin 个数

grep -c "nologin" /etc/passwd
# 或
grep "nologin" /etc/passwd | wc -l

第4章 用户与权限

4.1 权限解析

  • 数字表示:644
  • 所有者(rw-):读、写
  • 同组(r--):读
  • 其他(r--):读

4.2 默认 UID

用户类型 UID 范围
超级用户(root) 0
系统/虚拟用户 1-999(CentOS 7)
普通用户 1000+

4.3 修改权限

chmod 644 /oldboy/file.txt

4.4 创建用户

useradd -u 999 -M -s /sbin/nologin test

4.5 创建用户并指定组

groupadd old
useradd -u 1024 -g old boy

4.6 递归修改属主属组

chown -R www:www /www

第5章 定时任务

5.1 五个 * 的含义

* * * * * command
│ │ │ │ │
│ │ │ │ └── 星期(0-7,0 和 7 都是周日)
│ │ │ └──── 月份(1-12)
│ │ └────── 日期(1-31)
│ └──────── 小时(0-23)
└────────── 分钟(0-59)

5.2 每天凌晨 2:15 打包 .conf

15 2 * * * /bin/tar czf /backup/etc_conf_$(date +\%F).tar.gz /etc/*.conf

5.3 每天凌晨 12 点打包并删除 7 天前压缩包

0 0 * * * /bin/tar czf /backup/etc_conf_$(date +\%F).tar.gz /etc/*.conf && find /backup -name "etc_conf_*.tar.gz" -mtime +7 -delete

5.4 每隔 5 分钟时间同步

*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1

第5章 网络与基础架构

5.6 三次握手

客户端 → SYN=1, seq=x → 服务端
客户端 ← SYN=1, ACK=1, seq=y, ack=x+1 ← 服务端
客户端 → ACK=1, seq=x+1, ack=y+1 → 服务端

5.7 四次挥手

客户端 → FIN=1, seq=u → 服务端
客户端 ← ACK=1, seq=v, ack=u+1 ← 服务端(半关闭,服务端继续发数据)
客户端 ← FIN=1, ACK=1, seq=w, ack=u+1 ← 服务端
客户端 → ACK=1, seq=u+1, ack=w+1 → 服务端

5.8 OSI 七层 vs TCP/IP 四层

OSI 七层 TCP/IP 四层 协议/设备
应用层 HTTP、FTP、SMTP
表示层 应用层 SSL/TLS
会话层 NetBIOS
传输层 传输层 TCP、UDP
网络层 网络层 IP、ICMP、路由器
数据链路层 网络接口层 MAC、ARP、交换机
物理层 网线、光纤、网卡

5.9 DNS 解析过程

  1. 浏览器缓存
  2. 本地 hosts
  3. 本地 DNS 缓存
  4. 递归查询本地 DNS 服务器
  5. 根域名服务器
  6. 顶级域名服务器(.com)
  7. 权威域名服务器
  8. 返回 IP

5.10 查看端口和抓包命令

# 查看端口
ss -tlnp
netstat -tlnp
lsof -i :80

# 抓包
tcpdump -i eth0 port 80
tcpdump -i eth0 host 192.168.1.1
tcpdump -i eth0 -w /tmp/capture.pcap

第6章 翻译

英文 中文
You have new mail in /var/spool/mail/root 您在 /var/spool/mail/root 中有新邮件
id: lidao: No such user 用户 lidao 不存在
mkdir: cannot create directory 'all': File exists 无法创建目录 'all':文件已存在
umount: /: target is busy 无法卸载 /:目标正忙(有进程在使用)
rm: cannot remove '/root/1.txt': Permission denied 无法删除 /root/1.txt:权限不足

整理时间:2026-06-03