沉梦听雨的编程指南 沉梦听雨的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Axios入门
  • Vue Router入门
  • Pinia入门
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Axios入门
  • Vue Router入门
  • Pinia入门
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • API网关

  • RPC

  • 消息队列

  • Spring Cloud

  • 分布式事务

  • 云存储

  • 搜索引擎

  • 多媒体框架

  • 虚拟机

    • Linux基础小结
    • Linux环境搭建
    • 安装Docker
    • Docker入门
    • 配置桥接模式
    • 防火墙相关
    • 查看日志的六种命令详解
      • 六种常用命令
      • 1、tail
        • 命令格式
        • 常用参数
        • 用法
      • 2、head
        • 命令格式
        • 常用参数
        • 用法
      • 3、cat
        • 命令格式
        • 常用参数
        • 用法
      • 4、more
        • 命令格式
        • 常用参数
        • 用法
        • 分页浏览文件内容
        • 控制每屏显示的行数
        • 合并并分页查看多个文件
        • 与管道结合使用
      • 5、sed
      • 6、less
        • 安装
        • 命令格式
        • 常用选项
        • 用法
      • 学习参考
    • docker run指令
  • 微服务
  • 虚拟机
沉梦听雨
2024-04-26
目录

查看日志的六种命令详解

# 查看日志的六种命令详解

# 六种常用命令

  1. tail
  2. head
  3. cat
  4. more
  5. sed
  6. less

# 1、tail

# 命令格式

tail [参数] [文件] 
1

# 常用参数

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c <数目> 显示的字节数
-n <行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
1
2
3
4
5
6
7
8

# 用法

可以用于实时监控日志变动

# 实时展示日志末尾内容,默认最后10行,相当于增加参数 -n 10(tail -f -n 10 server.log)
tail -f server.log

# 查看固定线程http-nio-8091-exec-7
tail -f server.log | grep 'http-nio-8091-exec-7'

# -C 选项来显示检索结果的【前后几行】,-A 选项展示检索结果【后几行】,-B选项展示检索结果【前几行】
tail -f server.log | grep -C 5 'http-nio-8091-exec-7'
1
2
3
4
5
6
7
8

# 2、head

# 命令格式

head [参数] [文件] 
1

# 常用参数

-q 隐藏文件名
-v 显示文件名
-c <数目> 显示的字节数
-n <行数> 显示的行数
1
2
3
4

# 用法

跟 tail 是相反的,head 是看前多少行日志

# 查询日志文件中的头10行日志
head -n 10 server.log

# 查询日志文件【除了】最后 10 行的其他所有日志
head -n -10 server.log
1
2
3
4
5

# 3、cat

# 命令格式

cat [参数] [文件]
1

# 常用参数

-n 或 --number:显示行号,对输出的每一行都加上行号。

-b 或 --number-nonblank:仅对非空行显示行号,空行不计数。

-s 或 --squeeze-blank:压缩连续的空白行,即相邻的空白行会被合并成一行。

-E 或 --show-ends:在每一行的末尾显示 $ 符号,用于标识行尾。

-T 或 --show-tabs:将制表符(tab)显示为 ^I,便于区分普通空格和制表符。

-A 或 --show-all:等同于 -vET 的组合,即显示控制字符(如退格符)、行尾 $ 符号以及将制表符显示为 ^I。

-v 或 --show-nonprinting:使用转义序列显示非打印字符,如控制字符。

> 文件名:重定向输出,将cat命令的输出内容写入到指定的文件中,而非打印到屏幕上。如果目标文件已存在,则会被覆盖。

>> 文件名:追加重定向,将cat命令的输出内容添加到指定文件的末尾,保留原有文件内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 用法

查看文件内容

# 最基本的用法是直接指定一个或多个文件名,cat 将依次读取并显示这些文件的内容:
cat file.txt

# 同时查看多个文件的内容:
cat file1.txt file2.txt file3.txt

# 显示行号
cat -n file.txt

# 作为数据流的一部分,`cat` 常与其他命令配合使用,如通过管道传递给 `grep` 命令进行内容搜索
cat -n file.txt | grep "search_pattern"

# 查看test.log前200行
cat  test.log | head -n 200

# 查看test.log最后10行
cat test.log | tail -n 10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

创建或合并文件

# 创建新文件并从键盘输入内容,按 `Ctrl+D` 结束输入
cat > new_file.txt

# 合并多个文件内容并保存到一个新的文件中
cat file1.txt file2.txt > combined_file.txt

# 追加一个或多个文件内容到已存在的文件末尾
cat file_to_append.txt >> existing_file.txt
1
2
3
4
5
6
7
8

# 4、more

# 命令格式

more [参数] [文件]
1

# 常用参数

-d 或 --squeeze-blank:在显示多行空行时,将其压缩为一行。

-l 或 --lines=NUM:指定每屏显示的行数,默认值通常为系统设定的屏幕高度。

-f 或 --force:即使文件没有换行符(\n),也尝试逐行显示。

-p 或 --prompt:在每个屏幕底部显示提示信息,而不是默认的 --More--。

-c 或 --clear-screen:每次显示新屏幕前清屏。
1
2
3
4
5
6
7
8
9

# 用法

  • more 命令是一个简单的分页查看工具,适用于浏览长篇文本文件或命令输出。它允许用户逐屏查看内容,并提供了搜索、向上/向下滚动等功能。尽管功能相对有限,但对于大多数日常使用场景来说已经足够。
  • 在现代 Unix-like 系统中,less 命令提供了更多高级功能和更友好的交互方式,通常被视为 more 的增强替代品。不过,对于那些只需要基础分页浏览功能的用户而言,more 命令依然不失为一个便捷的选择。

# 分页浏览文件内容

more 命令用于分页查看文件内容,一次显示一屏内容。当文件内容超过当前屏幕高度时,用户需要按下特定键来滚动查看后续内容。

基本用法如下:

more file.txt
1

在查看过程中,您可以使用以下按键进行操作:

  • 空格键 或 回车键:向下滚动一屏内容。
  • b 或 Ctrl+B:向上滚动一屏内容。
  • /pattern:在文件中搜索指定的文本模式,按 n 键查找下一个匹配项,按 N 键查找上一个匹配项。
  • q 或 Ctrl+C:退出 more 命令并返回到命令行。

# 控制每屏显示的行数

使用 -l 或 --lines 参数自定义每屏显示的行数:

more -l 50 file.txt
1

这将使 more 命令每屏显示 50 行内容。

# 合并并分页查看多个文件

more 命令可以接受多个文件作为参数,依次显示它们的内容:

more file1.txt file2.txt file3.txt
1

# 与管道结合使用

more 命令常用于接收其他命令的输出,通过管道 (|) 实现分页显示:

ls -l | more
1

在这个例子中,ls -l 命令列出当前目录下的详细文件信息,其输出通过管道传递给 more 命令进行分页显示。

# 5、sed

这个命令可以查找日志文件特定的一段,根据时间的一个范围查询,可以按照行号和时间范围查询

# 只查看文件的第 5 行到第 10 行
sed -n '5,10p' test.log

# 按照时间段
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
1
2
3
4
5

# 6、less

# 安装

如果键入 less 指令的时候,显示下面的内容:

bash: less: command not found
1

则,需要安装 less 指令

# Ubuntu
apt-get install less
 
# CentOS
yum install less

# Docker
docker run cmd.cat/less less
1
2
3
4
5
6
7
8

# 命令格式

less [参数] 文件 
1

# 常用选项

-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 用法

# 查看文件内容
less test.log
1
2

在查看过程中,您可以使用以下按键进行操作:

上下方向键 或 j、k:向下或向上滚动一行。
空格键 或 PgDn:向下滚动一屏内容。
b 或 PgUp:向上滚动一屏内容。
G:跳转到文件末尾。
g 或 1G:跳转到文件开头。
/pattern:在文件中搜索指定的文本模式,按 n 键查找【下一个】匹配项,按 N 键查找【上一个】匹配项。
?pattern:在文件中反向搜索指定的文本模式,按 n 键查找【上一个】匹配项,按 N 键查找【下一个】匹配项。
h 或 ?:显示帮助信息。
q 或 Ctrl+C:退出 less 命令并返回到命令行。
1
2
3
4
5
6
7
8
9

# 学习参考

  • Linux 6种日志查看方法,不会看日志会被鄙视的 - 知乎 (zhihu.com) (opens new window)

  • Linux查看log日志命令总结_linux log日志-CSDN博客 (opens new window)

  • 【Linux系列】Linux查看日志常用命令大全,再也不怕不会看日志啦_linux最常用的20个命令查看日志-CSDN博客 (opens new window)

  • Linux less 命令 command not found less 未找到命令 less 命令详解 less 命令未找到 less 命令安装 - CommandNotFound ⚡️ 坑否 (opens new window)

  • linux日志中查找关键字、前几行、结尾几行,Linux的find用法示例_linux查看日志前几行-CSDN博客 (opens new window)

上次更新: 2024/9/25 11:16:13
防火墙相关
docker run指令

← 防火墙相关 docker run指令→

Theme by Vdoing | Copyright © 2023-2025 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式