做Python开发这几年,我发现一个规律:很多人本地写代码风生水起,一部署到服务器就抓瞎。原因倒不是Python本身不熟,而是不太会用Linux命令行。云服务器、Docker容器、CI流水线,绝大多数跑Python的环境都是Linux,不管你用的是Windows还是macOS,最终都要跟那串黑底白字的终端打交道。
这篇文章不打算把几百条Linux命令全部铺开,只讲Python程序员真正会碰到的场景:文件操作、Python环境管理、日志排查、网络调试、进程和资源查看、Docker和Nginx的日常操作,最后附一份高频问题速查。你在本地花点时间把这些命令用熟,线上能少熬不少夜。
1. 文件与目录操作:靠得住的基础功
1.1 用 ls、cd、pwd 先摸清环境
接手一台新服务器,或者刚进入一个陌生项目目录,我习惯先敲三组命令:pwd 确认当前路径,ls -lah 看目录内容,cd 完成切换。这里最容易被忽略的是 ls -lah 里的 -a,Python项目里很多重要文件是隐藏的,比如 .env、.gitignore、.venv,不加 -a 根本看不到,等环境变量缺失报错才反应过来。-h 参数让文件大小显示成 K、M、G,排查哪个日志文件把磁盘塞满时非常有用。
bash复制pwd
ls -lah
cd /opt/project
cd ~
cd -
cd - 这个命令很多人知道但很少用,它能在两个目录之间快速往返,比手动敲一长串路径高效。在Python项目里,还要经常确认Python解释器的工作目录,因为相对路径都是基于当前目录解析的。如果你在systemd或crontab里启动脚本,工作目录可能和你手动执行时不一样,遇到“文件找不到”的报错,先 pwd 看一下,再决定用绝对路径还是基于项目根目录的路径。
1.2 创建、复制、移动、压缩:别让 rm -rf 教你做人
写Python时经常要建目录、备份代码、清理缓存。mkdir -p a/b/c 能一次建多层目录,不用一层层进;cp -r 复制整个项目目录;mv 既能移动也能重命名。注意 cp 复制文件会保留原权限,复制完如果发现不能执行,可能需要重新设置可执行权限。
bash复制mkdir -p /tmp/project/{src,tests,docs}
cp -r baseline/ backup_baseline/
mv old_name.py new_name.py
zip -r project_backup.zip /opt/project
unzip project_backup.zip -d /tmp/restore
rm -rf 是风险最高的命令之一。删单个文件用 rm file,删目录
