📋 软件测试工程师Linux命令完整清单
一、面试高频必问(面试官最爱问)
面试中Linux问题通常围绕这几个方向,一定要能脱口而出 :
1. 面试必答:说出10个以上Linux命令
面试官考察你实际用过Linux,不要只答cd、ls、pwd这种基础命令,要体现技术含量
参考答案:
tail— 查看日志(最常用)grep— 过滤文本内容ps— 查看进程top— 查看CPU使用率free— 查看内存使用率df— 查看磁盘使用率netstat— 查看端口chmod— 修改权限tar— 压缩解压kill— 杀死进程ssh— 远程登录
2. 面试常见的Linux问题
| 问题 | 答案 | 来源 |
|---|---|---|
| 如何查看CPU信息? | cat /proc/cpuinfo 或 top |
|
| 查看占用CPU使用率最高的进程? | ps aux | sort -k3nr | head -n 10 |
|
| 如何查看一个文件的末尾50行? | tail -n 50 文件名 |
|
| 如何过滤文件中包含”ERROR”的行? | grep 'ERROR' 文件名 |
|
| 查看某端口号? | netstat -anp | grep 端口号 |
|
| 查看某进程号? | ps -ef | grep 进程名 |
|
| 查看IP地址? | ip addr 或 ifconfig |
|
| 创建和删除一个多级目录? | 创建:mkdir -p a/b/c 删除:rm -rf 目录名 |
|
| 动态查看日志文件? | tail -f 日志文件名 |
|
| 查看系统硬盘空间? | df -h |
|
| Linux中怎么隐藏文件? | 文件名前加 .(点号),如 .test.txt |
|
| 文件权限755表示什么? | 所有者:rwx(读写执行),群组:r-x(读执行),其他:r-x(读执行) | |
| grep和find的区别? | grep 搜索文件内容;find 搜索文件名/位置 |
|
| 如何杀死一个进程? | kill -9 进程号 |
|
| 查看内存使用情况? | free -m(以MB为单位) |
|
二、测试工作场景分类
场景1:日志查看与分析(最常用🔥)
这是测试工程师日常打交道最多的场景,面试必问”你工作中用到哪些Linux命令” :
| 命令 | 用途 | 示例 |
|---|---|---|
tail -f 文件名 |
动态监控日志,实时刷新 | tail -f catalina.out |
tail -n 100 文件名 |
查看文件后100行 | tail -n 200 app.log |
head -n 50 文件名 |
查看文件前50行 | head -n 50 app.log |
cat 文件名 |
查看小文件全部内容 | cat test.txt |
more 文件名 |
分屏显示(只能往下翻) | more app.log |
less 文件名 |
分屏显示(可上下翻页) | less app.log |
grep '关键字' 文件名 |
过滤包含关键字的行 | grep 'ERROR' app.log |
tail -f app.log | grep '500' |
管道组合:动态监控并过滤错误 | 查看状态码500的日志 |
实战场景:当项目出现Bug时,登录到Linux服务器上查看日志排查问题 tail -100 xxx.log
场景2:进程与服务管理(高频)
| 命令 | 用途 | 示例 |
|---|---|---|
ps -ef |
查看所有进程 | ps -ef 查看所有运行进程 |
ps -ef | grep tomcat |
查看特定进程 | 查看Tomcat是否启动 |
ps aux | sort -k4nr | head -n 10 |
查看内存占用前10的进程 | |
kill -9 进程号 |
强制杀死进程 | kill -9 12345 |
top |
实时查看CPU、内存使用率 | top 动态刷新,按 q 退出 |
实战场景:项目不能访问时,登录服务器查看项目是否启动 ps -ef | grep xxx
场景3:端口与网络(高频)
| 命令 | 用途 | 示例 |
|---|---|---|
netstat -anp | grep 端口号 |
查看端口被谁占用 | netstat -anp | grep 8080 |
netstat -nat|grep ESTABLISHED|wc -l |
查看系统总连接数 | |
ip addr 或 ifconfig |
查看IP地址 | |
systemctl stop firewalld |
关闭防火墙 | |
ping 地址 |
测试网络连通性 | ping baidu.com |
场景4:文件与目录操作(基础必备)
| 命令 | 用途 | 示例 |
|---|---|---|
ls |
查看当前目录内容 | ls -la 查看所有文件(含隐藏文件) |
ll |
查看文件的详细信息 | |
cd 目录名 |
切换目录 | cd /usr/local |
pwd |
查看当前所在目录路径 | |
mkdir -p 目录名 |
创建多级目录 | mkdir -p a/b/c |
rm -rf 文件名 |
强制删除 | rm -rf test/ |
cp 源文件 目标位置 |
复制文件 | cp a.txt /tmp/ |
mv 源文件 目标位置 |
移动/重命名 | mv a.txt b.txt |
touch 文件名 |
创建空文件 | touch test.txt |
find . -name "*.log" |
查找文件 | 查找当前目录下所有.log文件 |
场景5:压缩与解压(面试常考)
| 命令 | 用途 | 示例 |
|---|---|---|
tar -czvf 包名.tar.gz 目录 |
压缩成tar.gz | tar -czvf test.tar.gz test/ |
tar -xzvf 包名.tar.gz |
解压tar.gz | tar -xzvf test.tar.gz |
zip -r 包名.zip 目录 |
压缩成zip | |
unzip 包名.zip |
解压zip | |
场景6:系统监控(性能测试、排查问题)
| 命令 | 用途 | 示例 |
|---|---|---|
top |
实时查看CPU、内存、进程 | top 按 1 查看每个CPU核心 |
free -m |
查看内存使用(MB) | free -m |
df -h |
查看磁盘空间 | df -h 以人类可读格式显示 |
ps aux | sort -k3nr | head -n 10 |
查看CPU消耗前10的进程 | |
pidstat -u -p ALL |
查看所有进程的CPU使用 | |
pidstat -r |
查看进程的内存使用 | |
场景7:文件权限与用户管理
| 命令 | 用途 | 示例 |
|---|---|---|
chmod 755 文件名 |
修改权限 | chmod 755 test.sh |
chmod -R 777 目录 |
递归修改目录及子文件权限 | chmod -R 777 mydir/ |
chown 用户名 文件名 |
修改文件属主 | chown u1 dir1 |
su 用户名 |
切换用户 | su - root |
whoami |
显示当前用户 | |
passwd |
修改密码 | |
场景8:文件编辑(VI/VIM常用操作)
| 命令/操作 | 用途 |
|---|---|
vi 文件名 |
打开或创建文件 |
i |
进入插入模式(编辑) |
Esc |
退出插入模式 |
:wq |
保存并退出 |
:q! |
不保存强制退出 |
/关键字 |
在文件中搜索关键字 |
dd |
删除当前行 |
yy |
复制当前行 |
p |
粘贴 |
三、面试万能回答模板
当面试官问 “你工作中用到哪些Linux命令?” 时,可以这样回答 :
我主要用Linux做环境搭建和维护以及日志查看。
日志方面:用
tail -f动态监控日志,grep过滤关键字(如ERROR/500),cat、less查看文件内容。进程方面:用
ps -ef | grep 服务名查看服务是否启动,kill -9 进程号杀掉异常进程。端口方面:用
netstat -anp | grep 端口号看端口占用情况(比如Tomcat的8080端口)。系统监控方面:用
top看CPU使用率,free -m看内存,df -h看磁盘空间。文件操作:用
tar压缩解压,vi/vim编辑配置文件(如环境变量),chmod修改权限。
四、管道符 | 的妙用(面试加分项)
管道符是Linux中非常实用的技巧,能把多个命令组合起来完成复杂操作 :
# 1. 查看日志后100行,过滤出包含"ERROR"的内容
tail -n 100 app.log | grep 'ERROR'
# 2. 查看所有进程,筛选出Tomcat
ps -ef | grep tomcat
# 3. 查看端口占用
netstat -anp | grep 8080
# 4. 查看CPU使用率最高的前10个进程
ps aux | sort -k3nr | head -n 10
# 5. 查看系统总连接数
netstat -nat | grep ESTABLISHED | wc -l