Linux 入门体系梳理:后端开发者必备 Linux 基础(2)

Linux 入门体系梳理:后端开发者必备 Linux 基础(2) 前言对于 Python 后端开发者而言日常项目部署、脚本调试、服务器排错、文件管理、接口测试几乎所有工作都离不开 Linux 命令。很多新手学习 Linux 命令杂乱无章、学完不用很快遗忘。本文完全根据 Python 后端实际工作优先级排序剔除冷门无用命令只保留高频刚需操作搭配实战场景、完整示例、避坑细节零基础也能直接上手适合永久收藏日常开发、线上排错随查随用。适用场景Python 项目部署、服务器日常维护、接口故障排查、日志分析、环境搭建、文件传输、端口问题定位阅读收益告别无脑查命令一套搞定 95% 以上后端 Linux 操作场景目录一、最高优先级文件传输 scp部署必备1.1 本地上传文件 / 文件夹到服务器1.2 服务器下载文件 / 文件夹到本地1.3 避坑补充技巧二、第二优先级接口调试 curl线上排错神器2.1 高频核心参数开发必记2.2 实战开发示例三、第三优先级文件下载 wget服务器资源拉取3.1 核心常用参数3.2 实战示例四、第四优先级Vim 编辑器服务器改代码 / 配置必备4.1 普通模式默认模式快捷操作4.2 编辑模式修改内容专用4.3 命令模式保存退出、配置设置4.4 避坑技巧五、第五优先级系统状态查看命令服务器运维排查六、第六优先级网络端口排查 ss服务端口检测6.1 高频命令6.2 开发核心用途七、第七优先级进程管理ps /kill/top八、第八优先级日志检索grep 日志排查重中之重九、第九优先级文件基础操作cd ls mkdir rm cp mv十、第十优先级Python 环境相关服务器虚拟环境十一、线上排错快速排查清单实战总结一、最高优先级文件传输 scp部署必备核心场景本地与云服务器互传 Python 脚本、配置文件、日志、静态资源无需安装 FTP、Xshell 传输工具Windows10/Mac/Linux 系统原生支持。 是 Python 部署第一步上传项目代码、下载服务器日志、迁移文件全靠它。1.1 本地上传文件 / 文件夹到服务器bash# 上传单个文件 格式scp 本地文件 服务器用户名IP:服务器路径 scp test.py root120.xx.xx.xx:./ # 上传整个项目文件夹加 -r 递归参数 scp -r my_python_project root120.xx.xx.xx:/home/project/1.2 服务器下载文件 / 文件夹到本地bash# 下载单个日志文件到本地 scp root120.xx.xx.xx:/home/project/app.log ./ # 下载整个日志文件夹 scp -r root120.xx.xx.xx:/home/project/logs ./1.3 避坑补充技巧传输文件夹必须加-r参数否则报错修改 SSH 端口后加-P 端口号大写 P示例scp -P 2222 test.py rootIP:./SSH 配置修改后执行service ssh restart重启服务生效传输大文件中断后重新执行命令即可续传无需重传二、第二优先级接口调试 curl线上排错神器核心场景服务器无图形界面无法使用 Postmancurl 是 Python 后端自测接口、排查 500/404 / 跨域 / 重定向问题的核心工具支持所有 HTTP 请求方式可完全替代轻量化接口测试工具。2.1 高频核心参数开发必记表格参数作用场景-I大写 i仅返回响应头快速查看状态码、响应时间排查接口是否通-i返回响应头 响应体完整查看接口返回数据-L自动跟随 301/302 重定向解决接口跳转访问异常-H自定义请求头token、Content‑Type、Cookie-d传递 POST 请求体参数支持表单、JSON 数据-X指定请求方法GET/POST/PUT/DELETE-s静默模式屏蔽多余日志写 Python 自动化脚本必备-v详细日志模式打印完整请求链路深度排错专用2.2 实战开发示例bash# 1.快速检测接口状态最常用 curl -I https://api.xxx.com/test # 2.带Token请求后端接口 curl -H Authorization: Bearer xxxxxxx https://api.xxx.com/user/info # 3.POST提交JSON数据Python接口高频场景 curl -X POST -H Content-Type: application/json -d {name:test,age:20} https://api.xxx.com/add # 4.跟随重定向访问接口 curl -L https://xxx.com # 5.静默模式请求脚本调用无冗余输出 curl -s https://api.xxx.com/health三、第三优先级文件下载 wget服务器资源拉取核心场景服务器下载 Python 安装包、项目依赖、静态资源、模型文件相比 curlwget 更专注文件下载支持断点续传、后台下载是服务器下载首选工具。3.1 核心常用参数表格参数功能说明-O自定义保存文件名-P指定文件保存目录-c断点续传大文件下载中断后恢复无需重新下载-b后台下载关闭终端不中断日志自动保存--limit‑rate200k限速下载避免占满服务器带宽影响业务--no‑check‑certificate跳过 HTTPS 证书校验适配自签名证书场景3.2 实战示例bash# 自定义文件名下载资源 wget -O python3.10.tgz https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz # 指定目录下载 wget -P /home/soft https://xxx.com/model.pth # 后台限速下载大模型文件 wget -b --limit-rate500k -c https://xxx.com/big_model.pth四、第四优先级Vim 编辑器服务器改代码 / 配置必备核心场景服务器无图形编辑器修改 Python 脚本、项目配置文件、Nginx 配置、环境变量文件唯一刚需工具。掌握三种模式即可应对所有编辑场景。 核心规则按 ESC 始终退回普通模式4.1 普通模式默认模式快捷操作主要用于光标移动、复制、删除、撤销无需进入编辑模式光标快速跳转gg文件开头、G文件末尾、M文档中间复制粘贴yy复制当前行、p粘贴到下一行删除操作dd删除当前行撤销重做u撤销、ctrlr反向重做4.2 编辑模式修改内容专用表格按键功能i光标前方插入内容最常用a光标后方插入内容I当前行首插入A当前行尾插入o光标下新建空行并进入编辑O光标上新建空行并进入编辑4.3 命令模式保存退出、配置设置普通模式输入:进入vim:q # 正常退出无修改可退出 :wq # 保存修改并退出最常用 :q! # 强制退出不保存任何修改改错急救 :set nu # 显示行号排查代码报错行数 :set nonu # 关闭行号 :20 # 直接跳转到第20行4.4 避坑技巧Vim 异常关闭断电、强制断开连接会生成.swp交换文件再次打开会报错直接删除对应目录下的.swp 文件即可恢复正常。五、第五优先级系统状态查看命令服务器运维排查核心场景Python 服务卡顿、超时、内存溢出、磁盘爆满、CPU 占用过高时快速定位服务器资源问题是后端线上故障排查基础。bash# 查看系统内核、版本信息 uname -a # 查看CPU核心数、性能参数 lscpu # 查看内存使用‑h人性化显示单位必用 free -h # 查看磁盘占用排查磁盘爆满导致的服务异常 df -h # 查看服务器网卡、公网IP地址 ifconfig开发经验Python 程序 OOM 内存溢出、服务卡死优先执行free -h和df -h排查资源瓶颈。六、第六优先级网络端口排查 ss服务端口检测核心场景Python 项目启动失败、端口占用、服务无法访问用来检测端口监听状态、TCP 连接情况是替代老旧 netstat 的高性能工具Linux 官方推荐。6.1 高频命令bash# 查看所有TCP监听端口最常用查端口占用 ss -antlp # 查看所有UDP连接 ss -anup # 查看全部网络连接状态 ss -antp # 查看网络整体统计信息 ss -s6.2 开发核心用途排查端口被别的进程占用找到 PID 后 kill 杀掉冲突进程确认 Python Web 服务FastAPI、Django、Flask是否真正监听 0.0.0.0而不是 127.0.0.1只允许本地访问外部无法访问统计连接数排查接口大量长连接堆积造成服务卡顿。小提示看到 LISTEN 代表端口正在监听如果看不到 LISTEN说明程序启动失败或者监听地址配置错误。七、第七优先级进程管理ps /kill/top核心场景Python 后台进程卡死、重复启动、僵尸进程日常管理服务进程。bash# 查看全部进程 ps -ef # 过滤python相关进程查找PID ps -ef | grep python # 实时监控进程CPU、内存占用 top # 正常结束进程 kill 进程PID # 强制杀死卡死无响应进程 kill -9 进程PID避坑尽量少用 kill‑9会直接丢弃内存中未写完日志、数据优先使用 kill等待程序优雅退出。八、第八优先级日志检索grep 日志排查重中之重后端大部分问题都要靠日志定位grep 用来在海量日志中过滤报错堆栈。bash# 在日志文件搜索关键词Error grep Error app.log # 显示匹配行前后各5行上下文看完整报错堆栈 grep -C 5 Traceback app.log # 忽略大小写搜索 grep -i exception app.log # 结合tail实时看最新日志 tail -f app.log | grep -i error常用组合tail -n 200 app.log查看日志末尾 200 行线上快速看最新报错。九、第九优先级文件基础操作cd ls mkdir rm cp mv基础文件操作写脚本、部署项目天天用bash# 跳转目录 cd /home/project # 列出文件详情 ls -lh # 创建文件夹 mkdir -p project/logs # 复制文件 cp app.py ./bak/app_bak.py # 移动/重命名 mv old.py new.py # 删除文件 rm test.py # 删除文件夹谨慎使用 rm -rf temp_dir⚠️高危提醒不要执行 rm‑rf /绝对不要随意在生产执行 rm‑rf删除前最好备份。十、第十优先级Python 环境相关服务器虚拟环境bash# 解压python源码包 tar -zxvf Python-3.13.0.tgz # 解压zip项目包 unzip code.zip # 创建虚拟环境 python3 -m venv venv # 激活虚拟环境 source venv/bin/activate # 退出虚拟环境 deactivate # 后台运行python脚本终端关闭继续运行 nohup python3 main.py run.log 21 # 查看nohup后台任务输出 tail -f run.log十一、线上排错快速排查清单实战总结当 Python 服务线上异常按下面顺序排查少走弯路free -h看内存是否打满 OOMdf -h磁盘是否 100% 占满ss -antlp确认端口是否正常监听ps -ef | grep python确认进程是否存活tail‑f run.log/grep‑C 10 Error app.log查看日志报错堆栈curl -I 接口地址服务器本机自测接口区分是代码问题还是外网 / 防火墙问题