【Linux基础】开发日常:盘点后端开发中最高频使用的10个Linux命令

简介: 本文为后端开发者整理了日常运维中最常用的10个Linux命令,涵盖文件查看、日志监控、进程管理、网络排查等核心场景。从`ls`、`cd`到`tail`、`grep`,再到`ps`、`netstat`、`top`等,结合实际案例讲解高频用法,助你高效应对服务器操作,提升开发效率。

前言

作为一名后端开发者,我们不仅要和代码打交道,更离不开服务器的运维与排查。在阿里云ECS或者公司内网服务器上,熟练掌握Linux命令能让我们的工作效率事半功倍。

很多初学者面对浩如烟海的Linux命令感到头大,但实际上,日常开发中高频使用的核心命令并不多。本文将结合实际开发场景,盘点最常用的10个Linux命令,助你快速上手服务器运维。


1. ls —— 查看文件列表

最基础但也最强大的命令。除了简单的列出文件,我们需要掌握几个高频参数。

  • 常用场景: 查看当前目录下有哪些文件,文件大小、权限和修改时间。
  • 代码示例:

Bash

# 列出所有文件(包含隐藏文件),并显示详细信息(权限、大小、时间)
ls -al
# 按修改时间倒序排列(最近修改的文件在最上面),常用于找最新的日志文件
ls -lt

2. cd —— 切换目录

你可能觉得这个太简单了,但有两个“快捷键”是老手最爱用的。

  • 常用场景: 在深层目录之间快速跳转。
  • 代码示例:

Bash

# 回到用户的主目录(/home/xxx)
cd ~
# 【神器】回到上一次所在的目录(在两个深层目录间反复横跳时非常有用)
cd -

3. tail —— 实时查看日志

对于后端开发来说,这是最重要的命令,没有之一。当服务出现Bug时,我们需要实时盯着日志看报错信息。

  • 常用场景: 监控生产环境正在输出的日志文件(如Spring Boot的catalina.outapp.log)。
  • 代码示例:

Bash

# 实时滚动显示 log.txt 文件的最后10行及其后续更新
tail -f log.txt
# 显示最后100行并实时滚动
tail -100f app.log

4. grep —— 文本搜索神器

当日志文件有几百兆时,肉眼看是不可能的。grep可以帮我们在海量文本中快速定位关键词(如 "Exception" 或 "Error")。

  • 常用场景: 查找日志中的报错堆栈,或者查找某个配置项。
  • 代码示例:

Bash

# 在 catalina.out 中查找包含 "Exception" 的行,并显示匹配行的后10行(-A 10)
grep -A 10 "Exception" catalina.out
# 配合 ps 命令查找进程(见下文)
ps -ef | grep java

5. ps —— 查看进程状态

服务起没起来?是不是挂了?有没有僵尸进程?全靠它。

  • 常用场景: 确认Java应用是否在运行,获取进程PID以便重启。
  • 代码示例:

Bash

# 查看系统所有进程
ps -ef
# 【常用】查找名字中包含 "java" 的所有进程
ps -ef | grep java

6. netstat —— 网络端口监听

有时候服务启动了,但外部访问不到,通常是端口问题。

  • 常用场景: 查看8080端口是否被占用,或者服务是否成功监听了端口。
  • 代码示例:

Bash

# 查看所有TCP端口的监听情况,并显示进程PID
netstat -ntlp
# 查看 8080 端口被哪个进程占用了
netstat -ntlp | grep 8080

(注:如果系统中没有netstat,可以使用ss -lntp代替)

7. top —— 系统资源监控

服务器突然变慢、CPU飙升100%,这时候就需要top出场了,它相当于Windows的任务管理器。

  • 常用场景: 排查性能瓶颈,看是哪个进程吃光了CPU或内存。
  • 代码示例:

Bash

# 进入实时监控界面(按 'q' 退出,按 'P' 依CPU排序,按 'M' 依内存排序)
top

8. kill —— 结束进程

当服务卡死或者需要重启更新时,我们需要根据PID结束进程。

  • 常用场景: 停止服务。
  • 代码示例:

Bash

# 优雅地关闭进程(发送SIGTERM信号,让程序有机会处理收尾工作)
kill 12345
# 强制杀死进程(慎用,相当于直接拔电源)
kill -9 12345

9. chmod —— 修改文件权限

脚本写好了却运行不了?通常是权限不够。

  • 常用场景: 给Shell脚本添加可执行权限。
  • 代码示例:

Bash

# 给 start.sh 脚本添加可执行权限
chmod +x start.sh
# 赋予所有权限(读、写、执行),通常用于测试环境解决权限问题
chmod 777 file.txt

10. tar —— 压缩与解压

Linux上最常用的压缩格式是 .tar.gz

  • 常用场景: 解压JDK安装包,或者打包日志文件下载到本地分析。
  • 代码示例:

Bash

# 解压 demo.tar.gz 到当前目录
tar -zxvf demo.tar.gz
# 将 logs 目录打包并压缩成 logs.tar.gz
tar -czvf logs.tar.gz logs/

结语

以上这10个命令涵盖了文件操作、日志查看、进程管理、网络排查等后端开发的核心场景。熟练掌握它们,基本上能解决90%的日常服务器运维问题。

互动话题:除了这些,你日常工作中还离不开哪个Linux命令?欢迎在评论区补充!

相关文章
|
4月前
|
运维 监控 Shell
【自动化运维】告别手动搬运!编写Shell脚本自动备份与清理日志
本文介绍如何通过Shell脚本结合Crontab,实现服务器日志的自动备份与清理。每天凌晨2点自动压缩昨日日志并保存至备份目录,同时删除7天前的旧备份,防止磁盘占满。脚本具备目录创建、压缩打包、错误提示和日志记录功能,操作安全可靠,适合Linux运维新手实践自动化管理。
|
3月前
|
数据库
向量数据库实战:从“看起来能用”到“真的能用”,中间隔着一堆坑
本文揭示向量数据库实战的七大关键陷阱:选型前需明确业务本质(模糊匹配 or 精确查询?);embedding 比数据库本身更重要,决定语义“世界观”;文档切分是核心工程,非辅助步骤;建库成功≠可用,TopK 准确率会随数据演进失效;“相似但不可用”是常态,必须引入 rerank;需建立可追溯的bad case排查路径;向量库是长期系统,非一次性组件。核心结论:难在“用对”,不在“用上”。
|
3月前
|
机器学习/深度学习 人工智能 算法
告别关键词搜索:手把手教你用向量数据库,解锁大模型的“最新”知识
本文用通俗语言详解向量数据库原理与实践:它通过“语义向量化”实现按意思而非关键词检索,是RAG系统中连接大模型与私有数据的核心“外挂大脑”。附Faiss+Sentence-Transformers实战Demo,10分钟搭建可运行的语义检索系统。(239字)
440 0
|
7月前
|
存储 人工智能 资源调度
MCP协议深度集成:生产级研究助手架构蓝图
本文详解基于LangGraph与MCP协议构建研究助手的技术方案,涵盖双服务器集成、状态化智能体设计与用户元命令控制,助你掌握生产级代理系统开发要点。
616 1
|
4月前
|
Kubernetes IDE 应用服务中间件
2.部署篇(开发部署)
本文介绍如何将SpringCloud应用部署到Kubernetes云端,基于EDAS实现快速上云。涵盖集群导入、应用初始化及通过IDE插件高效部署,助力开发者提升发布效率。
|
8月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
532 2
|
4月前
|
消息中间件 缓存 NoSQL
【Redis进阶】不止是缓存!Redis的5种核心数据结构与实战场景全解析
本文深入浅出地解析了Redis五大核心数据结构:String、Hash、List、Set和ZSet,结合图解与实战场景,涵盖缓存、计数器、分布式锁、购物车、消息队列、排行榜等典型应用,助你摆脱“只会SET/GET”的困境,真正发挥Redis的高性能潜力。
|
5月前
|
JSON 安全 JavaScript
深入浅出解析 HTTPS 原理
HTTPS是HTTP与SSL/TLS结合的安全协议,通过数字证书验证身份,利用非对称加密安全交换会话密钥,再以对称加密高效传输数据,确保通信的机密性、完整性和真实性。整个过程如同建立一条加密隧道,保障网络交互安全。
2412 16
|
4月前
|
Java
Excel读取并数据List/Map-POI
该工具类用于解析Excel文件(.xls格式),通过POI读取数据并利用反射将每行数据映射到Java对象。支持全局Map或List输出,适用于固定模板的数据导入场景,需注意列数、行数与VO字段一致,并建议动态传参优化灵活性。
|
4月前
|
存储 关系型数据库 MySQL
【数据库核心】MySQL架构解密:一文读懂InnoDB存储引擎
本文深入解析InnoDB存储引擎架构,对比MyISAM差异,涵盖事务、行锁、外键、缓冲池、Redo Log及聚集索引等核心机制,助你掌握MySQL高性能原理与调优关键。