我这些年面试过不少测试工程师和网络安全工程师候选人,发现一个很有规律的筛选点:只要在笔试里放几道Linux实操题,哪些人真正碰过服务器,哪些人只会在Windows上点点鼠标,基本一目了然。
测试工程师要搭环境、看日志、跑自动化脚本,网络安全工程师要做日志审计、系统加固、网络排查,这两类岗位的日常工作都重度依赖Linux,所以笔试环节几乎都会塞进去一批Linux题目。但很多候选人明明在简历里写着"熟悉Linux常用命令",真到了笔试却连find和grep的组合用法都写不出来。
这篇内容不是简单罗列100道题的答案,而是把测试工程师和网络安全工程师笔试中最常出现的Linux考点按类别拆开,每道题都讲清楚答案是什么、为什么这么答、阅卷人想看到什么踩分点。两个岗位的共同考点和差异考点也会单独对比,方便你针对自己的目标岗位重点复习。
1. 为什么测试和安全岗位的笔试都绕不开Linux
1.1 两个岗位对Linux的真实依赖
不少准备笔试的人有个误区,觉得测试工程师主要用Windows,Linux是运维的事。真上了项目就会发现,绝大多数公司的测试环境、预发布环境都跑在Linux服务器上,你连测试环境都部署不起来,后面的功能测试、接口测试根本没法开展。
具体到日常工作的几个场景:
- 测试环境部署:被测系统通常部署在Linux服务器上,你需要会解压安装包、修改配置文件、启停服务、查看进程状态。至少得知道
tar解压、systemctl服务管理、ps进程查看。 - 日志定位:功能测试发现问题后,要登录服务器用
tail -f实时盯日志,用grep过滤关键字,快速定位是前端问题、接口问题还是后端报错。这一条几乎是测试工程师笔试必考的场景题。 - 自动化测试执行:很多自动化测试框架跑在Linux CI机器上,比如Jenkins、GitLab Runner,脚本执行环境、定时任务配置都离不开Linux基础。
- 数据库与中间件操作:MySQL、Redis、Nginx这些测试环境组件大多装在Linux上,排查问题时要会看端口、看连接数。
网络安全工程师对Linux的依赖更深。安全日志分析要看/var/log/secure和/var/log/messages,系统加固要管用户权限、SSH配置、防火墙策略,应急响应要在服务器上找异常进程和恶意文件。可以说,Linux是安全工作的主战场,笔试题目自然会往深了考。
1.2 笔试出题的常见逻辑
站在出题人的角度想,Linux笔试题目其实在考察三件事。
第一,有没有真实的服务器操作经验。背书背命令和真敲过命令,答题的细节完全不一样。比如很多人知道chmod 755是设置权限,但问"文件属主、属组、其他人分别有什么权限",没实操过的人会卡壳。
第二,遇到问题有没有清晰的排查思路。这类题通常给一个场景,比如"网站访问很慢,你怎么排查",没有标准答案,但能看出候选人是慌乱的还是有序的。
第三,有没有安全意识。对网络安全工程师来说尤其明显,比如问到SSH配置时,有安全意识的人会提到禁止root直接登录、建议使用密钥认证,而只背过命令的人只会说改端口号。
2. 文件与目录操作:笔试中占比最高的一类题
文件操作命令是Linux笔试的入门题,也是占比最高的类别。这类题难度不大,但胜在覆盖面广、陷阱多,一道题里能塞进好几个知识点。
2.1 高频命令题与常见陷阱
题目:查看当前所在目录的完整路径,用什么命令?
答案:pwd。
这道题属于送分题,但偶尔会有人写成cd,说明对命令的基本用途没分清。cd是切换目录,pwd才是打印工作目录。
题目:查找/etc目录下所有以.conf结尾的文件,请写出命令。
答案:find /etc -name "*.conf"。
这道题很多人会答ls /etc/*.conf,在文件数量少的时候能列出来,但ls没法递归查找子目录,而且当匹配结果太多时会报错。笔试阅卷时,写出find命令的人明显是熟悉Linux的。
题目:递归复制目录/data/app到/backup/目录下,怎么写?
答案:cp -r /data/app /backup/。
注意-r参数不能丢,很多新手第一次复制目录时不加-r,直接报错cp: omitting directory。笔试题里偶尔会把这个错误现象写出来,问是什么原因。
题目:>和>>重定向有什么区别?
答案:>会覆盖原文件内容,>>是追加写入。
这个考点简单但高频。举个实际场景:把服务的启动日志写入文件时,如果不想清空之前的日志,必须用>>。
题目:硬链接和软链接有什么区别?
答案:软链接(符号链接)是一个特殊文件,指向另一个文件的路径,源文件删除后软链接失效;硬链接是多个文件名指向同一个inode,只有所有硬链接都删除,文件才会真正被释放。
这道题偶尔会出现在选择题里,但更多是在场景题中作为延伸考察。比如问"如何给某个可执行文件做一个类似于Windows桌面快捷方式的东西",答案是ln -s创建软链接。
题目:解压app.tar.gz文件用什么命令?解压app.zip呢?
答案:tar -zxvf app.tar.gz和unzip app.zip。
顺便提醒一下,不同压缩格式的命令不能混淆,tar.gz用tar系列命令,zip用unzip,.7z文件还需要7z命令。如果服务器上没有装对应的解压工具,还会提示command not found。
2.2 用户、权限与特殊权限位
题目:解释chmod 755和chmod 644分别代表什么权限?
这是权限题里最经典的题目。755表示文件属主有读、写、执行权限(7=4+2+1),属组和其他用户有读、执行权限(5=4+1)。644表示属主有读、写权限,属组和其他用户只有读权限。
阅卷时我常看到有人把数字和权限的对应关系写反,比如把755写成"所有人都有全部权限",这就说明对数字权限的理解是生搬硬套,没有真正理解4是读、2是写、1是执行。
题目:如何修改文件test.txt的属主为zhangsan?
答案:chown zhangsan test.txt。
如果是同时修改属主和属组,用chown zhangsan:devops test.txt。chown和chmod经常同时出现,前者改归属,后者改权限,别搞混。
题目:/tmp目录的权限通常是1777,最后的1代表什么?为什么要这样设置?
答案:最后的1是粘滞位(Sticky Bit)。/tmp目录允许所有用户写入文件,但粘滞位保证用户只能删除属于自己的文件。这个设计解决了多用户共享临时目录时的安全问题。
这题在网络安全工程师的笔试里比较常见,考察的其实是对安全机制的理解。如果没有粘滞位,任何一个用户都能删除/tmp下别人的临时文件。
题目:某个可执行文件设置了SUID权限,会有什么风险?
答案:SUID(Set User ID)允许普通用户执行该文件时临时拥有文件属主的权限。典型的例子是/usr/bin/passwd,普通用户通过SUID以root身份修改密码。但如果你在自定义脚本或二进制文件上设置SUID,且文件属主是root,就相当于给了普通用户一条提权路径,这是非常危险的安全隐患。
网络安全工程师笔试里,这题经常以"查找系统中有SUID权限的文件"的形式出现,命令是find / -perm -4000 -type f。这道命令能写出来,说明候选人确实做过安全基线检查。
2.3 文件类题目的答题踩分点
我的建议是,凡是涉及命令的题目,至少要写到"命令名 + 关键参数 + 参数含义"。阅卷不是只看对错,还会通过你写的细节判断你是背的还是用的。
例如问"如何查找并删除30天前的日志文件",完整答案是:
find /var/log -name "*.log" -mtime +30 -exec rm {} \;或者:
find /var/log -name "*.log" -mtime +30 -delete如果你只写rm -rf /var/log,不但不得分,反而会让阅卷人觉得你完全没有生产环境的安全意识。
3. 进程管理与系统资源排查:测试工程师的高频失分区
测试工程师的日常工作中,服务起不来、端口被占用、磁盘满了是最常见的环境问题。所以笔试题目中,进程管理和系统资源排查的占比非常高,而且多以场景题形式出现。
3.1 进程查看与信号控制
题目:如何查看系统中所有Java进程?
答案:
ps -ef | grep java或者:
ps aux | grep javaps -ef和ps aux都能列出进程,区别在于输出格式。-ef偏向显示进程的父进程ID和完整命令行,aux偏向显示CPU、内存占用率。实际使用中两者都会被用到,笔试时写哪个都行。
注意,grep java会把自己这条命令也匹配进去,所以有人会在后面加| grep -v grep来排除干扰,这是加分的细节,说明你实际敲过。
题目:kill -9和kill -15有什么区别?
答案:kill -15是发送SIGTERM信号,请求进程正常退出,进程可以捕获这个信号做清理工作;kill -9是发送SIGKILL信号,强制杀死进程,进程无法捕获也无法做任何清理。
这道题很基础,但陷阱在于有些进程忽略-15信号,这时候才考虑用-9。笔试题如果问"某个进程杀不掉怎么办",正确的思路是先试kill -15,不行再用kill -9,而不是一上来就kill -9。
题目:如何查看某个端口(比如8080)被哪个进程占用?
这是测试工程师笔试里出现频率极高的一道题,没有之一。标准答案:
netstat -tunlp | grep 8080或:
lsof -i:8080或:
ss -tunlp | grep 8080三个命令的核心作用一样,都是找到占用端口的进程PID,然后再用ps -ef | grep PID或者直接kill PID处理。
这道题之所以高频,是因为测试环境部署服务时经常遇到"端口被占用导致启动失败",属于最典型的日常问题。
3.2 必考故障场景:从现象到定位的完整链路
笔试中的中等难度题,通常不是单独考一个命令,而是给你一个现象,让你写出排查链路。这类题测试工程师必须重点准备。
题目:Tomcat服务启动失败,提示8080端口被占用,请写出排查步骤。
参考答案按这个顺序写最容易拿分:
- 先确认端口占用情况:
netstat -tunlp | grep 8080,找到占用端口的PID。 - 查看占用进程的详细信息:
ps -ef | grep <PID>,确认是什么程序占用了端口。 - 如果是遗留的Tomcat进程,先尝试正常结束:
kill -15 <PID>。 - 如果无法结束,再强制杀死:
kill -9 <PID>。 - 确认端口已释放后,重新启动Tomcat:
systemctl start tomcat或执行启动脚本。 - 用
ps -ef | grep tomcat确认进程已经启动,再用curl http://localhost:8080验证服务是否正常响应。
这道题的核心踩分点有两个:一是知道用netstat -tunlp | grep定位端口,二是知道先确定进程再处理,而不是盲目重启。现场面试时我还会追问"如果端口是被一个未知进程占用的,你怎么判断能不能杀",考察的是安全意识和责任心。
题目:服务器磁盘空间不足,应用写入文件失败,如何排查?
参考答案:
- 查看磁盘整体使用情况:
df -h。 - 如果是某个分区满了,继续定位大目录:
du -sh /var/log或du -h --max-depth=1。 - 找到大文件后按实际需求清理,例如清理旧日志:
> /var/log/app.log或用logrotate做日志轮转。 - 清理完成后用
df -h确认空间已释放。
这道题有个非常经典的陷阱:df -h显示空间还有剩余,但应用依然报"No space left on device"。这种情况很可能是inode耗尽了,需要执行df -i查看inode使用率。文件系统上每个文件都要占用一个inode,小文件特别多的时候,inode会先被耗尽。这个细节能答出来,测试工程师的基础功底就体现出来了。
3.3 测试工程师怎么答这类题才加分
我筛选测试工程师的时候,会更看重排查思路是否完整。纯粹背命令的人会写"df -h"就停了,有经验的人会继续写"定位大文件、处理日志、确认空间释放"这一整套动作。
另外提醒一点,场景题里尽量体现"先备份、再操作"的习惯。比如清理日志文件,不要直接rm删除,可以写清空的> app.log或者把旧日志归档压缩,这种细节在阅卷时非常加分。
4. 网络与安全基础:网络安全工程师的必争之地
网络安全工程师的Linux笔试题,重心会明显偏向网络配置、安全特性、日志审计和系统加固。这批题目考的是安全从业者的日常基本功。
4.1 网络配置与连通性排查
题目:如何查看Linux服务器的IP地址?
答案:ip addr或者ifconfig。
现在很多新版Linux发行版默认没有装ifconfig,更推荐用ip addr。ip命令是iproute2工具包的,功能比ifconfig更强大,还能管理路由和邻居表。
题目:如何测试远程服务器的某个端口是否连通?
这个题至少有三种答案,每种都有适用场景:
ping:测试网络连通性,走的是ICMP协议,不能直接测端口。telnet <IP> <PORT>:如果端口开放,会显示连接成功;如果端口不通或防火墙拦截,会卡住或提示Connection refused。nc -zv <IP> <PORT>:nc命令可以快速扫描端口开放状态,-z表示不发送数据,-v显示详细过程。
测试工程师笔试通常写出telnet就够了,网络安全工程师建议额外写出nc,因为渗透测试、安全排查时nc是常用工具。
题目:tcpdump抓包,抓取访问本机80端口的所有HTTP流量,写出命令。
答案:
tcpdump -i eth0 port 80 -w http.pcap-i指定网卡,port 80过滤端口,-w将抓包结果保存到文件,方便后续用Wireshark分析。网络安全工程师笔试写tcpdump命令时,记得带上-w的选项,说明你有实际分析流量的经验。
题目:修改DNS配置,让服务器通过指定DNS服务器解析域名,应该修改哪个文件?
答案:/etc/resolv.conf,格式如下:
nameserver 223.5.5.5 nameserver 8.8.8.8注意,部分云服务器或使用systemd-resolved的发行版,/etc/resolv.conf会被自动管理,手动修改可能被覆盖,这种情况需要配套修改NetworkManager或systemd-resolved的配置。这个细节在笔试里属于拔高点。
4.2 防火墙、SSH安全与系统加固
题目:Linux系统常见的防火墙管理工具有哪些?如何开放8080端口?
答案:常见的有firewalld和iptables,老一些的发行版还有ufw。
以CentOS/RHEL的firewalld为例,开放端口需要执行:
firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload--permanent表示永久生效,不加的话重启后规则会丢失;--reload让配置立即生效。
这块题目对网络安全工程师来说几乎是必考的,而且经常会追问:"修改防火墙规则后,如何确认规则已经生效?"答案是用firewall-cmd --list-ports查看,或者用客户端实际访问一次验证。
题目:SSH服务的安全加固措施有哪些?
这个题属于问答论述题,没有唯一答案,但有一点安全经验的人能写出好几条:
- 禁止root用户直接登录,修改
/etc/ssh/sshd_config中的PermitRootLogin no。 - 修改默认端口,将
Port 22改为高位随机端口,减少扫描攻击。 - 使用SSH密钥认证登录,在
sshd_config中设置PasswordAuthentication no。 - 限制可登录用户和IP来源,比如配置
AllowUsers和AllowGroups。 - 配置
fail2ban等工具,对多次登录失败的IP进行自动封禁。
阅卷时我会重点看候选人能否从"减少暴露面、增强认证、限制来源"这三个维度去思考,能写出三点就算有安全意识。
题目:如何查看系统中的登录失败记录?
这个题目是安全进阶题,答好了很加分。登录失败记录主要在/var/log/secure文件中(CentOS/RHEL系),可以这样查:
grep "Failed password" /var/log/secure如果系统启用了lastb命令工具,也可以用lastb直接显示登录失败记录。更完整的做法是,按照时间窗口查看某段时间的失败日志,并提取攻击者IP:
grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr这串命令是把失败日志中的IP提取出来,统计次数并排序,能写出来说明你有日志分析能力。这条命令组合了grep、awk、sort、uniq四个命令,也是文本处理的典型考题。
4.3 应急响应场景:安全岗位的压轴题
题目:某台Linux服务器突然CPU使用率飙升,业务响应变慢,你如何进行排查?请写出排查思路。
这类题没有固定命令答案,但按"先定位异常进程,再分析关联行为,最后处置"的顺序答,基本能拿高分。
- 用
top或htop查看CPU占用最高的进程,记录PID。 - 用
top -p <PID>持续观察该进程的CPU占用变化,确认是否为持续异常。 - 用
ps -ef | grep <PID>查看进程的完整路径和启动命令,判断是否属于正常业务进程。 - 如果进程路径可疑,进一步查看进程的启动时间、连接的外部地址:
lsof -p <PID>或ls -l /proc/<PID>/exe。 - 结合日志分析:
journalctl -u <服务名>或查看/var/log/messages、/var/log/secure,确认是否有异常登录或恶意操作。 - 根据分析结果处置:疑似挖矿程序则结束进程、清理相关文件和定时任务;确认是业务故障则通知相关团队处理。
这道题在网络安全工程师笔试里出现率非常高,考察的是应急响应思维,而不是单纯的命令记忆。阅卷人最不喜欢看到"重启服务器"这种简单粗暴的回答,因为应急响应的核心是"先取证、再处置",直接重启可能导致恶意程序重启后重新拉起,也会丢失内存中的关键证据。
5. Shell脚本与文本处理:拉开分差的关键模块
基础命令大家都背过,但能把几个命令串起来解决问题的候选人就明显少了。Shell脚本和文本处理才是把分数拉开差距的地方。
5.1 文本三剑客:grep、sed、awk
题目:统计日志文件app.log中ERROR出现的次数。
答案:
grep -c "ERROR" app.log稍微深入一点的版本是统计"ERROR"在各行出现的总次数,用grep -o "ERROR" app.log | wc -l。前者是按行匹配,一行出现多个ERROR也只算一次,后者按实际出现次数统计。这两种统计口径在真实日志分析中都可能用到,笔试时能区分说明你踩过坑。
题目:将配置文件app.conf中所有的127.0.0.1替换为0.0.0.0,并保存修改。
答案:
sed -i 's/127.0.0.1/0.0.0.0/g' app.conf-i表示就地修改,s表示替换操作,g表示全局替换。注意,-i在macOS和Linux上的兼容性略有差异,Linux上可以直接加,macOS上可能需要sed -i ''。
题目:提取access.log中每行的第一个字段(默认按空格分割的IP地址),并按出现次数排序,找出访问量最大的前10个IP。
答案:
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10这串命令是经典组合拳,逐个拆开看:
awk '{print $1}':提取每行的第一个字段。sort:排序,让相同IP排列在一起。uniq -c:统计连续相同行的数量。sort -nr:按统计结果逆序排列。head -10:取前10行。
这题基本是网络岗笔试的必考题,同时考了文本提取、排序、去重统计三个技能,能完整写出来的人,说明真的用Linux分析过日志。
5.2 笔试中的Shell编程题
题目:写一个Shell脚本,批量创建用户user1到user10,并设置初始密码为123456。
参考答案:
#!/bin/bash for i in $(seq 1 10) do useradd user$i echo "123456" | passwd --stdin user$i done这里seq 1 10生成数字序列,useradd创建用户,passwd --stdin从标准输入读取密码。阅卷重点看循环写法有没有问题,变量引用有没有加$,以及是否处理了用户已存在的情况。
更完善的版本会在前面加判断:
#!/bin/bash for i in $(seq 1 10) do if id "user$i" &>/dev/null; then echo "user$i already exists" else useradd user$i echo "123456" | passwd --stdin user$i fi done题目:写一个脚本,检测磁盘使用率,超过80%时输出告警。
参考答案:
#!/bin/bash usage=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//') if [ $usage -gt 80 ]; then echo "Disk usage is ${usage}%" # 此处可以替换为发送邮件或集成告警平台的curl调用 fi这个脚本把df输出、awk提取、sed处理串了起来,是全套基础命令的综合运用。笔试出现类似题目时,不需要写得特别复杂,先保证逻辑正确,再考虑加告警通知和多分区遍历。
题目:如何配置一个定时任务,每天凌晨2点执行/opt/scripts/clean.sh脚本?
答案:编辑当前用户的crontab:
crontab -e写入:
0 2 * * * /opt/scripts/clean.sh五个字段分别是分、时、日、月、周,0 2 * * *表示每天2点0分执行。这个知识点在测试环境管理里很实用,比如定时清理测试日志、定时重启服务、定时执行自动化测试用例。
5.3 阅卷人想从Shell题里看到什么
我批改Shell脚本题时,最在意两点。第一是代码是否有基本的可读性,比如缩进、变量命名清晰;第二是有没有考虑边界条件,比如目录不存在、用户已存在、参数没传等情况。哪怕是笔试,写出带判断的脚本也会让人高看一眼,因为线上的脚本必须考虑各种异常场景。
另外,能用一条命令解决的不要写五条,能用内置命令的不要调用外部程序。阅卷人会通过脚本风格判断你日常写不写Shell,比如[ $usage -gt 80 ]里的空格漏掉,脚本就会报错,这种小细节比背概念更能看出功底。
6. 测试工程师与网络安全工程师:高频考点差异对照
虽然都是考Linux,但两个岗位的考察侧重点有明显差异。把差异搞清楚,复习时才能有的放矢。
6.1 两个岗位的考点差异
| 对比维度 | 测试工程师 | 网络安全工程师 |
|---|---|---|
| 文件权限 | 了解chmod、chown基本用法即可 | 深入掌握SUID/SGID/粘滞位及排查命令 |
| 进程管理 | 重点考端口占用排查、服务启停、日志定位 | 重点考异常进程发现、资源占用分析与处置 |
| 网络命令 | ping、telnet、curl | nc、tcpdump、ss、防火墙规则 |
| 日志分析 | 定位应用报错、过滤业务关键字 | 登录日志审计、异常行为分析、日志取证 |
| Shell脚本 | 写自动化测试脚本、批量处理数据 | 写安全巡检脚本、批量加固脚本 |
| 安全加固 | 一般性了解即可 | 必考SSH安全、防火墙策略、系统基线加固 |
| 故障排查 | 服务起不来、磁盘满、端口占用 | 服务器被入侵、挖矿进程、异常外连 |
6.2 给测试工程师的复习清单
测试工程师准备Linux笔试,建议按重要性排序:
- 文件与目录:
find、grep、tar、cp -r、mv、重定向。这些是环境部署的日常操作。 - 进程与端口:
ps -ef | grep、netstat -tunlp、lsof -i、kill、systemctl。服务起不来的问题全靠这套命令排查。 - 日志定位:
tail -f、tail -100、grep -n、组合使用grep和awk过滤日志。建议自己对着业务日志练一练,从海量日志里提取关键字和统计次数。 - Shell脚本基础:
for循环、if判断、变量、$( )。至少能写一个批量操作文件或批量请求接口的脚本。 - 数据库与中间件:MySQL的
mysql -u -p登录、show processlist、Redis的redis-cli连接、Nginx的配置文件目录。测试环境的日常运维经常用到。
6.3 给网络安全工程师的复习清单
网络安全工程师的复习重心完全不同:
- 权限与安全机制:SUID/SGID/粘滞位原理、查找提权文件的命令、关键目录文件权限基线。
- 系统加固:SSH安全配置、防火墙策略、账号与口令策略、最小化安装与无用服务清理。
- 日志审计:
/var/log/secure登录日志、/var/log/messages系统日志、journalctl、dmesg,会用grep、awk、sort、uniq做统计和溯源。 - 网络排查与抓包:
ss、netstat、nc、tcpdump,能从大量连接中找出异常外连。 - 应急响应:用
top、ps、lsof、ls -l /proc/PID/exe定位可疑进程,用find按时间查找最近被修改的文件,用crontab -l检查恶意定时任务。
两个岗位的复习时间分配建议是:测试工程师花60%精力在命令实操、30%在场景排查、10%在shell脚本;网络安全工程师花40%在安全机制、30%在日志与应急响应、20%在网络命令、10%在Shell脚本。
7. 笔试答题的实战技巧与备考建议
7.1 答题策略:不会写完整命令也要拿踩分点
笔试时最怕遇到"这题我见过但命令忘了"的情况。我的建议是,哪怕记不全,也要把关键命令名和思路写上去,阅卷是看踩分点的。
比如问"如何查看8080端口被哪个进程占用",如果你记得netstat但记不清参数,可以写"使用netstat命令配合grep过滤8080,找到进程PID后进一步查看进程详情"。这样至少能拿到一半的分数。相反,留空白是肯定没分的。
场景题按"定位、分析、处理、验证"四步来答,不要跳步。例如"服务启动失败怎么排查":
- 定位:查看服务状态
systemctl status xxx,看报错信息。 - 分析:如果提示端口冲突,就用
netstat -tunlp查端口;如果提示配置文件错误,直接打开配置文件检查语法。 - 处理:关闭占用进程或修正配置后重新启动。
- 验证:
systemctl status xxx确认服务active,再用curl或实际请求验证业务正常。
按照这个顺序写,逻辑完整,阅卷人看起来也舒服。
7.2 备考方法:动手实操比背题重要得多
说句掏心窝的话,Linux笔试通过率和大半年真实使用经验是强相关的。不看任何资料,在一台虚拟机上跑一遍环境部署、日志排查、脚本编写,比死记硬背一百道题有效得多。
具体操作建议:
- 找一台虚拟机装一个主流发行版(CentOS Stream、Ubuntu Server或Rocky Linux都可以),每天抽半小时练习命令,重点练
find、grep、awk、sed、netstat这些高频命令的组合用法。 - 自己动手部署一个简单的Web服务,比如Nginx或Tomcat,然后故意制造故障:改错配置、占用端口、写满磁盘,再自己排查。这个过程练一遍,笔试场景题基本都能应对。
- 维护一份自己的命令速查笔记,按"文件操作、进程管理、网络排查、日志分析、Shell脚本"分门别类,遇到新命令就补进去。面试前拿出来过一遍,比临时翻书效率高得多。
- 做笔试题时,不要只看答案对不对,要思考"为什么用这个命令而不是另一个"。比如能定位端口的有
netstat、ss、lsof三种,区别是什么,在什么场景用哪个,这些理解才是笔试拉开差距的地方。
7.3 最后说点实际体会
这几年我筛简历和试卷,一个很明显的感受是:Linux笔试成绩好的人,入职后的上手速度通常也快。原因不复杂,愿意花时间练Linux的人,本身就具备主动排查问题和动手实验的能力,这两个特质在测试和安全岗位上比背多少理论都值钱。
所以这份题集不是终点,而是起点。笔试题里出现的每一个场景,都值得你在真实环境里亲手操作一遍。把服务器当自己的练习场,等你能不看资料完成"部署一个服务、排查一个故障、写一个自动化脚本"这套流程时,Linux笔试对你来说就不再是障碍了。