后端要熟悉的Linux常用命令与Vim效率

举报
静水流深-云海 发表于 2026/09/09 11:10:10 2026/09/09
【摘要】 后端开发躲不开服务器,而服务器八成是 Linux。本文按"文件目录 / 查看管道 / 网络 / 系统资源 / 权限压缩 / 进程管理 / Vim"几个场景,梳理后端最常用的命令组合与管道思维,给出一个完整的排障命令链、包管理与定时任务的实用写法,帮你在不上 IDE 的情况下也能把活干利索。

做后端有个绕不开的事实:你的代码最终大多跑在 Linux 服务器上。出了问题你未必能开图形界面,往往就是 SSH 进去敲命令。命令熟不熟,直接决定了你排障是两分钟还是两小时。这篇文章不堆砌所有命令,只挑后端最高频、最能形成组合拳的那些。

一、文件与目录

ls -lh                # 人类可读地列目录
cd /var/log/app       # 进日志目录
tail -f app.log       # 实时看日志尾部(排障神器)
find . -name "*.java" # 按名找文件
cp a.conf a.conf.bak  # 改前先备份,老习惯了

tail -f 配合日志级别调高,是看线上实时行为最直接的手段,比各种监控面板有时还快。

二、查看与管道

Linux 的哲学是"每个命令只做一件事,用管道串起来"。后端排查几乎天天用:

cat app.log | grep -R "ERROR" .     # 全量搜错误
ps aux | grep java                  # 看 java 进程
journalctl -u nginx --since "1h ago" # 看某服务的系统日志
命令 用处 后端场景
grep -R 递归搜内容 在代码/日志里定位关键字
ps aux 看进程 确认服务是否起来、占多少内存
head/tail 看头尾 日志抽样、实时跟踪
wc -l 计数 统计报错条数
sort/uniq -c 排序去重计数 统计 top 报错类型

grep "ERROR" app.log | awk '{print $1}' | sort | uniq -c | sort -rn | head 这一串能直接排出"哪类错误最多",是日志分析的标配动作。

三、查看网络

接口超时第一反应就是看网络。curl 能模拟请求、netstat/ss 看端口监听:

curl -I https://api.example.com/health   # 只看响应头
curl -v https://api.example.com/health   # 看完整握手过程
netstat -tunlp | grep 8080               # 谁在监听 8080
ss -tunlp                                # 更现代的端口查看

curl -v 在排查 TLS、重定向、超时的时候特别好用,能看见每一步花了多少时间。

四、系统与资源

top -p <pid>     # 盯着某个进程的资源
df -h            # 磁盘还剩多少(别等写满了才看)
free -h          # 内存占用
journalctl -u myservice -f  # 跟某个 systemd 服务日志

磁盘写满导致服务起不来的情况,比很多人想象的常见,定期 df -h 是好习惯。

image.png

五、权限与压缩

chmod +x deploy.sh      # 给脚本加执行权限
chown -R app:app /data  # 改属主,避免权限拒绝
tar -czf log.tar.gz *.log  # 打包日志回传分析
scp app.log user@host:/tmp  # 把文件传回跳板机

部署脚本没执行权限、日志目录属主不对,是新手最常遇到的两个"明明配对了却跑不了"的坑。权限除了 rwx,还有数字表示法:chmod 755rwxr-xr-xchmod 644rw-r--r--,记住 7=读+写+执行、6=读+写、4=只读,配权限时不用每次查表。

六、进程管理

jobs                  # 看后台任务
nohup java -jar app.jar > app.log 2>&1 &   # 脱离终端跑,输出重定向
kill -9 <pid>         # 强杀(救急用,先试 kill 不加 -9)
pkill -f "app.jar"    # 按名字批量杀

nohup ... & 是部署 jar 包的常见起法,但生产更推荐交给 systemd 托管,能自动重启、管日志。

七、包管理与定时任务

# Ubuntu/Debian
apt-get update && apt-get install -y nginx
# CentOS/RHEL
yum install -y nginx

# 定时任务:每天凌晨清日志
crontab -e
# 0 0 * * * find /var/log/app -name "*.log" -mtime +7 -delete

crontab -e 里的五个字段是"分 时 日 月 周",写错一个位就完全不跑,配完用 crontab -l 复核一下。

八、Vim

不是人人爱 Vim,但服务器上它基本都在。记住这几个够救急:

  • i 进入插入模式,改完按 Esc
  • :w 保存,:q! 不保存强退,wq 保存退出
  • dd 删一行,/关键字 搜索、n 下一个
  • :%s/old/new/g 全局替换

改个 Nginx 配置、临时注释一行代码,Vim 比装个编辑器快得多。

小结

Linux 命令不用背全,但后端常用的那几组(文件、管道、网络、资源、权限、进程、包管理、Vim)得形成肌肉记忆。核心不是记命令,是理解"管道组合"的思维——把简单工具拼起来解决复杂问题。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。