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


第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≥2100%最高性能要求高,数据不重要(如缓存)
RAID 1250%读快写慢系统盘、数据安全要求高
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/sdb1mkfs.ext4
  6. 挂载mkdir /data && mount /dev/sdb1 /data
  7. 写入 fstabecho "/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 等)
5dump 备份标记(0=不备份,1=备份)
6fsck 检查顺序(0=不检查,1=根目录优先,2=其他)

1.7 简述软硬连接的区别

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

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

  • < 2Tfdisk /dev/sdb
  • > 2Tparted /dev/sdbgdisk /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/cpuinfoCPU 详细信息

第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