# 查看实时日志 # -f (follow):实时追加显示文件尾部内容 tail -f logs/application.log #查看application.log日志200行 tail -200f logs/application.log #如果需要查看之前的日志,推荐使用 less less logs/application.log #查看压缩包日志 ‘2024-07-08.24.log.gz’ less 2024-07-08.24.log.gz #转到日志末尾 Shift + G #转到日志开头 Shift + g #输入问号+搜索关键字,向上反向搜索。 ?搜索关键字 /搜索关键字 #按 n 继续向上找上一次出现的位置 #按 N 继续向下找下一次出现的位置 #按 q 退出less浏览模式 # 搜索异常关键字,并显示该行 "前后各 20 行" grep -C 20 "搜索关键字" logs/application.log # 搜索当前目录下所有以 app.log 开头的文件 grep "搜索关键字" logs/app.log* # -c (count):只统计匹配的行数,搜索出现的次数 grep -c "搜索关键字" logs/application.log #有时候日志非常大,例如有 10GB,grep 搜出来的内容依然过多。如果我们明确知道生产事故发生在 14:00 到 14:05 之间,该怎么办?下载整个日志不现实,sed 可以帮我们把这段时间的日志单独切出来,保存成一个小文件慢慢分析 # 语法:sed -n '/开始时间/,/结束时间/p' 源文件 > 目标文件 # 注意:时间格式必须和日志里的格式完全一致 sed -n '/2025-12-19 14:00/,/2025-12-19 14:05/p' logs/application.log > error_segment.log 真实场景 D:排除干扰噪音 排查问题时,日志里充斥着大量无关的 INFO 心跳日志或健康检查日志,严重干扰视线。 # -v (invert):显示不包含 "HealthCheck" 的所有行 grep -v "HealthCheck" logs/application.log sed 有时候日志非常大,例如有 10GB,grep 搜出来的内容依然过多。如果我们明确知道生产事故发生在 14:00 到 14:05 之间,该怎么办? 下载整个日志不现实,sed 可以帮我们把这段时间的日志单独切出来,保存成一个小文件慢慢分析。 真实场景:导出事故时间窗口的日志 # 语法:sed -n '/开始时间/,/结束时间/p' 源文件 > 目标文件 # 注意:时间格式必须和日志里的格式完全一致,这样你就得到了一个只有几 MB 的 error_segment.log,这时候再下载到本地分析,或者发给同事,都非常方便。 sed -n '/2025-12-19 14:00/,/2025-12-19 14:05/p' logs/application.log > error_segment.log Awk awk 擅长处理列数据,对于格式规范的日志,如 Nginx 访问日志、Apache 日志,它可以直接在服务器上生成简报。 真实场景 A:遭到攻击,查找恶意 IP 服务突然报警 CPU 飙升,怀疑遭到 CC 攻击或爬虫抓取,我们需要分析 Nginx 日志,找出访问量最高的 IP。 假设日志格式第一列是 IP: # 1. awk '{print $1}':提取第一列(IP) # 2. sort:排序,把相同的 IP 排在一起 # 3. uniq -c:去重并统计每个 IP 出现的次数 # 4. sort -nr:按次数(n)倒序(r)排列 # 5. head -n 10:取前 10 名 awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10 真实场景 B:找出响应最慢的接口 Nginx 日志中通常记录了响应时间,假设在最后一列,我们想把响应时间超过 1 秒的请求找出来。 # $NF 代表最后一列 # 打印所有响应时间大于 1 秒的 URL(假设 URL 在第 7 列) awk '$NF > 1.000 {print $7, $NF}' access.log #查看公网ip curl cip.cc #修改文件名将一个名为abc.txt的文件重命名为abcd.txt mv abc.txt abcd.txtliunx查看服务器日志的常用命令
张小明
前端开发工程师
番茄小说下载器终极指南:5种格式+Web界面打造个人数字图书馆
番茄小说下载器终极指南:5种格式Web界面打造个人数字图书馆 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾在深夜追更时,突然发现心爱的小说被平台下架&am…
htty高级用法终极指南:如何用命令行构建复杂的HTTP请求
htty高级用法终极指南:如何用命令行构建复杂的HTTP请求 【免费下载链接】htty htty is the HTTP TTY, a console application for interacting with web servers. 项目地址: https://gitcode.com/gh_mirrors/ht/htty htty是一个功能强大的命令行HTTP客户端工…
react-photo-view 最佳实践:10个提升用户体验的关键细节
react-photo-view 最佳实践:10个提升用户体验的关键细节 【免费下载链接】react-photo-view An exquisite React photo preview component. 项目地址: https://gitcode.com/gh_mirrors/re/react-photo-view react-photo-view 是一款精致的 React 图片预览组件…
【紧急预警】NotebookLM 2.3版本将关闭本地PDF语义隔离模式——社会科学研究者必须在48小时内完成知识库迁移
更多请点击: https://kaifayun.com 第一章:NotebookLM 2.3版本语义隔离模式终止的技术动因与社会科学研究范式冲击 语义隔离模式终止的核心技术动因 NotebookLM 2.3 版本正式移除了“语义隔离(Semantic Isolation)”模式&#x…
【免费下载】 探索GD32F303的无线升级之旅:基于YMODEM协议的固件升级解决方案
探索GD32F303的无线升级之旅:基于YMODEM协议的固件升级解决方案 随着物联网(IoT)和嵌入式系统的发展,远程固件更新成为了不可或缺的功能之一。今天,我们来探索一款专为GD32F303系列微控制器设计的开源宝藏——GD32F303 YMODEM 升级源码。这个…
【CI/CD】持续集成与持续部署:从理论到实践
【CI/CD】持续集成与持续部署:从理论到实践 引言 CI/CD(持续集成/持续部署)是现代软件开发的核心实践,它能够自动化构建、测试和部署流程,提高开发效率和代码质量。本文将详细介绍CI/CD的概念、工具和最佳实践。 一…