Linux 面试速查表:从初级到高级,附高频场景答题模板

本文按初级、中级、高级三层整理 Linux 面试常考命令,并给出 10 个高频场景的答题模板。适合面试前快速复习,也适合日常运维速查。

目录


一、初级:必须会用

类别 命令 面试点
目录 pwd ls -alh cd mkdir -p cd - 回上次目录
文件 cp -r mv rm -rf touch rm -rf 慎用
查看 cat less head -n tail -f 大文件别用 cat
权限 chmod 755/644 chown user:group 755 目录/可执行,644 普通文件
用户 whoami id sudo su - su - 加载环境
进程 ps aux top kill PID kill -9 PID 默认 -15 优雅退出
磁盘 df -h du -sh * free -h 磁盘满先 df 再 du
网络 ping curl -I ssh scp curl -I 看响应头
打包 tar -czvf tar -xzvf zip/unzip c 创建、x 解压、z gzip、f 文件
文本 grep wc -l sort uniq -c 管道组合是重点

二、中级:组合排查

场景 命令 说明
找文件 find /path -name "*.log" -mtime +7 按名称、时间、大小、权限找
搜内容 grep -rn "error" /var/log/ 递归 + 行号
实时日志 tail -f app.log 排查线上问题标配
时间段日志 sed -n '/10:00/,/11:00/p' app.log 按时间范围截取
统计 Top IP `awk '{print $1}' access.log sort
端口占用 `ss -tulnp grep 8080或lsof -i:8080`
磁盘定位 `du -sh /* 2>/dev/null sort -rh
大文件 find / -type f -size +100M 2>/dev/null 找 >100M 文件
已删除文件 `lsof grep deleted`
批量替换 `grep -rl "old" /path xargs sed -i 's/old/new/g'`
定时任务 crontab -e / crontab -l 分 时 日 月 周 命令
软硬链接 ln -s target link / ln target link 软链接删源失效,硬链接共享 inode

三、高级:定位根因

问题 命令 思路
CPU 高 top → top -Hp PID → printf "%x\n" TID → `jstack PID grep -A 20 "nid=0x..."`
内存高 free -h `ps aux --sort=-%mem head cat /proc/PID/status
IO 高 iostat -x 1 iotop vmstat 1 load 高但 CPU 不高,查 IO
网络抓包 tcpdump -i eth0 port 80 -nn 抓包定位请求
系统日志 `dmesg -T tail journalctl -u 服务 -f`
文件句柄 ulimit -n `lsof -p PID wc -l`
系统服务 systemctl status/start/stop/restart 服务 服务管理
跟踪系统调用 strace -p PID 进程卡住/异常时用
防火墙 iptables -L -n systemctl status firewalld 端口不通先查防火墙

四、高频场景答题模板

1. 线上服务报错

bash 复制代码
tail -f app.log
grep -n "ERROR" app.log | tail -50
grep "ERROR" app.log | awk '{print $NF}' | sort | uniq -c | sort -rn

追问:日志几个 G 打不开?用 grep 过滤,别 cat。

2. 磁盘满了

bash 复制代码
df -h
du -sh /* 2>/dev/null | sort -rh | head
find / -type f -size +100M 2>/dev/null
lsof | grep deleted

追问:df 满但 du 不大?文件被删但进程还持有句柄,重启进程。

3. 端口被占用

bash 复制代码
ss -tulnp | grep 8080
lsof -i:8080
kill -9 PID

追问:ss 比 netstat 快,现代系统推荐 ss。

4. 网站打不开

bash 复制代码
ping IP
telnet IP 8080          # 或 nc -zv IP 8080
curl -I http://域名/
ps aux | grep 服务
ss -tulnp | grep 端口
tail -f app.log

顺序:网络 → 端口 → 进程 → 日志 → 防火墙。

5. CPU 飙高

bash 复制代码
top
top -Hp PID
printf "%x\n" TID
jstack PID | grep -A 20 "nid=0x..."

追问:load 高但 CPU 不高?查 IO:iostat -x 1。

6. 统计 Top 10 IP

bash 复制代码
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head

拆解:取列 → 排序 → 去重计数 → 倒序 → 前 10。

7. 批量替换

bash 复制代码
grep -rn "old" /path
grep -rl "old" /path | xargs sed -i 's/old/new/g'

注意:sed -i 直接改源文件,先备份或先 grep。

8. 权限拒绝

bash 复制代码
chmod +x script.sh
./script.sh

追问:755 = rwxr-xr-x,644 = rw-r--r--,777 不安全。

9. 定时任务不执行

bash 复制代码
crontab -l
tail -f /var/log/cron
# 脚本用绝对路径,加日志
0 2 * * * /path/backup.sh >> /var/log/backup.log 2>&1

原因:环境变量不同、路径不对、没加 2>&1。

10. 优雅停服务

bash 复制代码
kill PID        # 默认 -15,优雅退出
kill -9 PID     # 强杀,可能丢数据

生产优先用默认 kill,最后才 -9。


五、高频追问速答

问题 答案
软链接和硬链接区别? 软链接是独立文件指向源,源删失效;硬链接共享 inode,删一个不影响
755 / 644 / 777? 755 目录可执行;644 普通文件;777 任何人可读写执行,不安全
kill -9 和 kill? -9 强杀,无法清理资源;默认 -15 让进程优雅退出
ss 和 netstat? ss 更快,直接读内核;netstat 逐渐废弃
find 和 grep? find 找文件,grep 搜内容
> 和 >>? > 覆盖,>> 追加
2>&1? 把错误输出重定向到标准输出
df 和 du 不一致? 文件被删但进程占用:`lsof
load average 高? 看 CPU、IO、进程排队,配合 top iostat vmstat
crontab 不执行? 绝对路径、环境变量、看 /var/log/cron、加日志
nohup 和 &? nohup 忽略挂起,& 后台运行,常一起用
环境变量? echo $PATH,export PATH=$PATH:/new

六、面试话术

被问命令题,按这个结构答:

  1. 先说思路:「我先用 X 看整体,再用 Y 定位具体」
  2. 给出命令,带参数和管道
  3. 解释参数,体现真用过
  4. 补注意点,比如 kill -9 慎用、sed -i 先备份

结语

Linux 命令题不难,难的是在场景里快速组合。建议把上面的场景模板亲手敲一遍,面试时就能条件反射式回答。

相关推荐
wuminyu5 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle5 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
DongQiShanRen5 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方5 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip
pride.li5 小时前
Python 安装
linux·python·ubuntu
笔墨登场说说6 小时前
centos 8 使用 kafka_2.13-4.3.1.tgz 安装kafka
linux·kafka·centos
luo_guibin6 小时前
Linux系统下OpenSSL升级全流程,新旧版本切换
linux·运维·服务器
7177776 小时前
支持混合云的 DevOps 平台有哪些:主流方案对比与选型指南
运维·devops
看着博客敲代码6 小时前
No space left on device:服务器被 SSH 爆破到日志写满的完整排查与止血
linux·运维·服务器·安全·ssh
明日清晨6 小时前
mobaxterm root身份登录Ubuntu
linux·ubuntu·postgresql