当前位置:首页>Linux>Linux + Docker 高频命令速查:查日志、进容器、清镜像,按场景一篇搞定!

Linux + Docker 高频命令速查:查日志、进容器、清镜像,按场景一篇搞定!

  • 2026-09-02 19:33:54
Linux + Docker 高频命令速查:查日志、进容器、清镜像,按场景一篇搞定!

你好,我是小志。

做测试这几年,Linux和Docker算是每天都要打交道的东西。查日志、看进程、进容器、清镜像……翻来覆去就那几十条命令,但每次想用的时候,总有那么几条记不住,还得现搜。

今天干脆把这两块合并到一起,整理一份测试日常高频会用到的命令速查。不搞大而全的“命令大全”,就按实际场景来——什么场景敲什么命令,怎么组合着用,都是平时最顺手的那几招。

Linux部分:查日志、看端口、定位进程、看磁盘内存这些;Docker部分:容器启停、进容器、看日志、清镜像。两份放一起,用的时候翻一翻,省得再到处搜。


Linux

场景1:查日志

# 实时查看日志tail -f app.log# 查看最后100行tail -n 100 app.log# 搜索关键词(带上下文,显示前后5行)grep -C 5 "ERROR" app.log# 实时监控特定关键词tail -f app.log | grep "ERROR"# 查看某个时间段的日志sed -n '/2025-03-27 10:00/,/2025-03-27 11:00/p' app.log

场景2:看端口和进程

# 查看端口占用(两种方式)netstat -tunlp | grep 8080lsof -i:8080# 查看进程ps -ef | grep java# 查看进程树(12345是进程ID)pstree -p 12345# 杀掉进程kill -9 12345

场景3:看系统资源

# 实时看CPU和内存tophtop# 看CPU使用率(1秒刷新)vmstat 1# 看内存使用free -h# 看磁盘IOiostat -x 1# 统计端口连接数netstat -an | grep 8080 | wc -l

场景4:磁盘和文件操作

# 查看磁盘使用情况df -h# 查看当前目录下每个文件夹的大小du -sh *# 查找大于100M的文件find / -type f -size +100M# 统计日志行数wc -l app.log# 统计错误条数grep "ERROR" app.log | wc -l

场景5:文本处理

# 提取第一列awk '{print $1}' app.log# 统计某个字段的分布(按出现次数倒序)grep "接口调用" app.log | awk '{print $5}' | sort | uniq -c | sort -rn# 替换文本sed 's/old/new/g' file.txt

Docker

场景1:容器管理

# 查看运行中的容器docker ps# 查看所有容器(包括停止的)docker ps -a# 启动/停止/强制停止容器docker start 容器IDdocker stop 容器IDdocker kill 容器ID# 删除容器docker rm 容器ID# 创建并运行容器(后台运行,端口映射,命名)docker run -d -p 8080:8080 --name myapp nginx

场景2:进入容器内部

# 进入容器(交互式终端)docker exec -it 容器ID /bin/bashdocker exec -it 容器ID sh# 不进容器,直接执行容器内命令docker exec 容器ID cat /app/logs/app.log

场景3:查看容器日志

# 实时查看容器日志docker logs -f 容器ID# 查看最近100行docker logs --tail 100 容器ID# 带时间戳查看docker logs -t 容器ID

场景4:镜像管理

# 查看本地镜像docker images# 拉取镜像docker pull nginx:latest# 删除镜像docker rmi 镜像ID# 清理无用镜像(删除没有被容器使用的镜像)docker image prune -a# 一键清理(停止的容器、未使用的镜像、网络)docker system prune -a

场景5:容器资源查看

# 实时查看容器资源占用docker stats# 查看容器详细信息(JSON格式)docker inspect 容器ID

场景6:日志卷

# 查看挂载的卷docker volume ls# 查看卷的具体位置docker volume inspect 卷名

常用命令组合

# 组合1:实时监控某个接口的错误日志docker logs -f 容器ID | grep "接口名" | grep "ERROR"# 组合2:统计今天的错误次数grep "2025-03-27" app.log | grep "ERROR" | wc -l# 组合3:找出最耗时的接口(假设日志最后一位是耗时)grep "接口耗时" app.log | awk '{print $NF}' | sort -rn | head -10# 组合4:清理所有停止的容器和未使用的镜像docker container prune -y && docker image prune -a -y# 组合5:进入容器查日志定位问题docker exec -it 容器ID bashtail -100 app.loggrep "ERROR" app.log | tail -20

收藏这篇,用时翻一翻,省得再到处搜。

我是小志,我们路上见。

-------------------------------

小志建了一个测试互助群,有面经、有内推,扫码直接进群
群链接可能失效
扫描最下方二维码添加小志微信,备注【进群】直接拉)
最新测试面经和解析直接发群里
有内推也会直接丢群里
最近开发了一个免费面试刷题网站,扫描文末二维码或者添加小志微信lizhiceshi,添加时备注【网站】获取最新访问地址,欢迎围观学习~
最后,有任何测试疑问以及在找工作需要免费诊断简历,或者免费测试资料,以及小志编写的软件测试面试宝典、整理的上百场测试真实面经等都可以扫码添加小志微信lizhiceshi免费领取,一定知无不言,言无不尽!
推荐阅读:
不做管理、不当架构,测试如何安稳干到 40 岁?
测试开发和自动化测试,到底有啥区别?
为什么自学软件测试很难坚持下去?

测试工程师如何精心打磨一份 20K level 简历?

最新文章

随机文章