【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命令?欢迎在评论区补充!

相关文章
|
6月前
|
运维 监控 Shell
【自动化运维】告别手动搬运!编写Shell脚本自动备份与清理日志
本文介绍如何通过Shell脚本结合Crontab,实现服务器日志的自动备份与清理。每天凌晨2点自动压缩昨日日志并保存至备份目录,同时删除7天前的旧备份,防止磁盘占满。脚本具备目录创建、压缩打包、错误提示和日志记录功能,操作安全可靠,适合Linux运维新手实践自动化管理。
|
缓存 数据格式
实现LRU缓存的三种方式(建议收藏)
LRU全称为Least Recently Used,即最近使用的。针对的是在有限的内存空间内,只缓存最近使用的数据(即get和set的数据),超过有限内存空间的数据将会被删除。这个在面试题中也是常会被问到的内容,接下来就看看怎么来实现。
2381 0
实现LRU缓存的三种方式(建议收藏)
|
开发工具 git
IDEA中Git面板操作介绍 变基、合并、提取、拉取、签出
在IDEA的Git面板中,仓库会分为本地仓库和远程仓库,代码仓库里面放的是各个分支。
4789 2
|
5月前
|
数据库
向量数据库实战:从“看起来能用”到“真的能用”,中间隔着一堆坑
本文揭示向量数据库实战的七大关键陷阱:选型前需明确业务本质(模糊匹配 or 精确查询?);embedding 比数据库本身更重要,决定语义“世界观”;文档切分是核心工程,非辅助步骤;建库成功≠可用,TopK 准确率会随数据演进失效;“相似但不可用”是常态,必须引入 rerank;需建立可追溯的bad case排查路径;向量库是长期系统,非一次性组件。核心结论:难在“用对”,不在“用上”。
|
3月前
|
机器学习/深度学习 人工智能 算法
铁路障碍物目标检测数据集(5500+张已标注图像)| 适用于YOLO/Mask R-CNN/Detectron2训练的AI视觉数据集
本篇文章将为大家详细介绍一个专门面向铁路视觉检测任务构建的高质量数据集: 铁路障碍物目标检测数据集(5500+高质量标注图像) 该数据集可直接用于训练主流视觉模型,如 YOLO系列、Mask R-CNN、Detectron2 等目标检测或实例分割算法,非常适合用于科研、项目开发以及算法验证。 接下来,我们将从数据集背景、数据集结构、类别信息、数据特点、应用场景以及个人心得等多个方面进行全面介绍。
|
5月前
|
机器学习/深度学习 人工智能 算法
告别关键词搜索:手把手教你用向量数据库,解锁大模型的“最新”知识
本文用通俗语言详解向量数据库原理与实践:它通过“语义向量化”实现按意思而非关键词检索,是RAG系统中连接大模型与私有数据的核心“外挂大脑”。附Faiss+Sentence-Transformers实战Demo,10分钟搭建可运行的语义检索系统。(239字)
854 0
|
6月前
|
Kubernetes IDE 应用服务中间件
2.部署篇(开发部署)
本文介绍如何将SpringCloud应用部署到Kubernetes云端,基于EDAS实现快速上云。涵盖集群导入、应用初始化及通过IDE插件高效部署,助力开发者提升发布效率。
|
6月前
|
消息中间件 缓存 NoSQL
【Redis进阶】不止是缓存!Redis的5种核心数据结构与实战场景全解析
本文深入浅出地解析了Redis五大核心数据结构:String、Hash、List、Set和ZSet,结合图解与实战场景,涵盖缓存、计数器、分布式锁、购物车、消息队列、排行榜等典型应用,助你摆脱“只会SET/GET”的困境,真正发挥Redis的高性能潜力。
|
6月前
|
人工智能 监控 API
AI Ping 深度评测:大模型 API 选型的 “理性决策中枢”
本文为个人真实体验分享,非商业广告。聚焦清华系AI Ping平台,从功能、实测到场景应用,全面解析其在大模型性能评测、智能路由、成本管控等方面的优势,展现如何以数据驱动AI选型决策,助力开发者提效降本,推动AI应用精准落地。(238字)
AI Ping 深度评测:大模型 API 选型的 “理性决策中枢”
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。