基于真实工作场景总结


一、面试官常问的一句话

“你了解Linux吗?简单说一下。”

推荐回答:

我平时常用Linux做开发/部署,基本的文件操作、进程、权限、网络命令都熟。比如文件操作:lscdcpmvrmcattail;权限:chmodchown;进程:pstopkill;网络:netstatcurlping;查找:findgrep。如果需要排查问题,我会组合使用这些命令,比如用grep配合pstail查日志。


二、Linux在企业中的3个以上实际应用场景(面试常问)

面试官追问:“你说你了解Linux,那在公司里Linux到底用来干什么?”

场景1:部署和运行Web服务

  • 公司买的阿里云/腾讯云服务器,底层就是Linux

  • 在Linux上安装Nginx、Tomcat、Node.js等,运行公司网站或API

  • 你作为测试:需要登录Linux查看服务是否启动、端口是否监听

场景2:排查线上问题(看日志)

  • 程序出bug了,开发说“你去服务器上看一下日志”

  • 登录Linux,用tail -f实时看日志,用grep筛出错误

  • 你作为测试:把日志里的error截图发给开发,帮助定位问题

场景3:管理数据库和定时任务

  • 公司的MySQL、Redis都跑在Linux上

  • crontab设置定时任务,比如每天凌晨3点备份数据库

  • 你作为测试:需要连接Linux检查数据库状态、执行SQL

场景4:管理虚拟环境和运行脚本

  • 用conda创建不同Python版本的虚拟环境,隔离项目依赖

  • 执行测试脚本、数据处理脚本

  • 你作为测试conda activate切换环境,python3 xxx.py跑脚本

场景5:文件传输和备份

  • sz把服务器上的日志下载到本地分析

  • rz把本地的配置文件上传到服务器

  • 你作为测试:把测试报告、截图从服务器拖下来

场景6:监控系统资源

  • top看CPU/内存占用,判断服务器是否快满了

  • df -h看磁盘空间,防止日志写满导致服务挂了

  • 你作为测试:压测时登录Linux看资源使用情况


三、Linux基础命令(面试必会)

3.1 文件/目录操作

命令 作用 示例
ls 列出当前目录文件 ls -la
cd 切换目录 cd .. 进入上层目录
pwd 显示当前路径
cp 复制文件 cp a.txt b.txt
mv 移动/重命名
rm 删除文件/文件夹 rm -r xxx 强制删除
mkdir 新建文件夹 mkdir xxx
rmdir 删除空文件夹
cat 查看完整文件 cat xxx.txt

3.2 文本处理

命令 作用 示例
grep 按行搜索 grep "error" log.txt
find 查找文件 find / -name "*.conf"

3.3 权限管理

命令 作用
chmod 修改读写执行权限
chown 修改文件所属用户

3.4 进程管理

命令 作用
ps 查看进程
top 动态查看资源+进程
kill 终止进程

3.5 系统资源

命令 作用
df -h 查看磁盘使用情况
du -sh 查看目录大小
free -h 查看内存使用
netstat 查看网络端口/连接

3.6 网络命令

命令 作用
ping 测试网络连通性
curl 发送HTTP请求
netstat -tunlp 查看端口占用

四、高频面试对比题

grep 和 find 的区别?

命令 作用对象 示例
find 文件本身 find . -name "*.log"
grep 文件内容 grep "error" *.log

五、Xshell远程操作实战流程

5.1 连接与基本操作

# 1. 连接服务器(端口22是SSH默认端口)
ssh 用户名@服务器IP

# 2. 进入计算节点
ssh cu07

# 3. 进入自己的文件夹
cd lcr

# 4. 进入项目工程目录
cd 项目文件夹

# 5. 激活虚拟环境
conda activate xzj_py3

# 6. 执行Python文件
python3 xxx.py

# 7. 终止程序
Ctrl + Z

5.2 查看已有虚拟环境

cd home/
cd 428
cd anaconda3/
cd envs/
ls   # 列出所有虚拟环境

5.3 创建/删除虚拟环境

# 必须进主节点操作
ssh mu01

# 创建虚拟环境(Python 2.7)
conda create -n xzj_py2 python=2.7

# 激活
conda activate xzj_py2

# 退出
conda deactivate

# 查看所有环境
conda env list

# 删除环境
conda remove -n xzj_py2 --all

5.4 文件传输

操作 命令
服务器→本地 sz xxx
本地→服务器 rz

六、Conda虚拟环境常用指令速查

操作 命令
创建环境 conda create -n 环境名 python=版本
激活环境 conda activate 环境名
退出环境 conda deactivate
查看所有环境 conda env list
删除环境 conda remove -n 环境名 --all

七、工作中Linux的实际应用场景

场景 操作
部署Web应用 Nginx + Java/Python/Node.js
运行数据库 MySQL、Redis、MongoDB
文件存储 图片、视频、附件
定时任务 Cron
日志收集 tail -fgrep
容器化部署 Docker、K8s

八、日志排查实战

实时查看日志

tail -f app.log | grep -i error   # 只看错误

下载日志到本地

# 方法1:sz命令
sz /path/to/app.log
# 方法2:scp命令(在本地电脑执行)
scp root@服务器IP:/var/log/app.log ~/Desktop/

日志分析要点

  • error → 错误点

  • fail / failed → 失败原因

  • timeout → 超时问题

  • 重复尝试 → 设备/服务不稳定


九、面试加分金句

“如果线上出问题,我一般会先用top看负载,df看磁盘,tail看日志,再用grep筛关键字定位问题。”


十、端口常识

端口 服务
22 SSH(远程连接)
80 HTTP
443 HTTPS
3306 MySQL
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐