Linux-查看清理日志方法总结

  1. cat

1.1 介绍

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

1.2 命令

语法格式:

cat [-AbeEnstTuv] [--help] [--version] fileName

参数说明:

  • -n 或 –number:由 1 开始对所有输出的行数编号。
  • -b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
  • -v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
  • -E 或 –show-ends : 在每行结束处显示 $。
  • -T 或 –show-tabs: 将 TAB 字符显示为 ^I。
  • -A, –show-all:等价于 -vET。
  • -e:等价于”-vE”选项;
  • -t:等价于”-vT”选项;

1.2. 1 cat test.log : 查看test.log内容。

1.2.2 cat -n test.log,查看test.log文件的内容,并且由1开始对所有输出行进行编号。(包括空白行)

1.2.3 cat -b test.log ,用法和 -n 差不多,但是不对空白行编号。

Linux-查看清理日志方法总结

1.2.4 cat -s test.log,当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。

1.2.5 cat -e test.log,在输出内容的每一行后面加一个$符号。(包括空白行)

1.2.6 cat test.log test1.log,同时显示test.log和test1.log文件内容,注意文件名之间以空格分隔,而不是逗号。

Linux-查看清理日志方法总结

1.2.7 cat -n test.log > test2.log,对test.log文件中每一行加上行号后然后写入到test2.log中,会覆盖原来的内容,文件不存在则创建它。

Linux-查看清理日志方法总结

1.2.8 cat -n test.log >> test1.log,对f1.txt文件中每一行加上行号后然后追加到test3.log中去,不会覆盖原来的内容,文件不存在则创建它。

Linux-查看清理日志方法总结

1.3 使用示例

项目中比较大的日志一般查询日志配合grep命令使用

命令: cat filename | grep 关键字 -C10   -C:显示前后多少行 -A:显示后多少行 -B:显示前多少行

1.3.1 查找 日志中含有Exception关键字的前后10行

   cat tarzan-mes.2022-07-08.10-1.log  | grep "Exception" -C 10

1.3.2 查找 日志中含有Exception关键字的前后10行并输出到一个新的文件中

   cat tarzan-mes.2022-07-08.10-1.log  | grep "Exception" -C 10 >  exception.log

  1. more

2.1 介绍

more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能

2.2 命令

2.2.1 基本命令

命令语法: more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

2.2.2 操作命令

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • V 调用vi编辑器
  • !命令 调用Shell,并执行命令
  • q 退出more

2.3 使用示例

2.3.1 一页显示100行记录

more -100 tarzan-mes.2022-07-08.13-1.log

2.3.2 使用提示画面的方式查看每页显示5行记录

more -d -5 tarzan-mes.2022-07-08.13-1.log

2.3.3 使用提示画面的方式查看从第100行查看日志每页显示10行记录,并搜索”Exception”关键字的内容

more -d -10 tarzan-mes.2022-07-08.13-1.log

3.tail

3.1 描述

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

3.2 命令

命令语法

 tail [参数] [文件]

参数说明

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c
  • -n
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, –quiet, –silent 从不输出给出文件名的首部
  • -s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

3.3 使用示例

3.3.1 显示 notes.log 文件的最后 10 行

tail notes.log         # 默认显示最后 10 行

3.3.2 要跟踪名为 notes.log 的文件的增长情况

tail -f notes.log

备注:此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

3.3.3 显示文件 notes.log 的内容,从第 20 行至文件末尾

tail -n +20 notes.log

3.3.4 显示文件 notes.log 的最后 10 个字符

    tail -c 10 notes.log

  1. split

4.1 描述

Linux split命令用于将一个文件分割成数个。该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。

4.2 命令

命令语法

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][&#x8981;&#x5207;&#x5272;&#x7684;&#x6587;&#x4EF6;][&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x540D;]<!--行数--><!--字节--><!--字节--><!--行数-->

参数说明

  • -b
  • –help : 在线帮助
  • –version : 显示版本信息
  • -C
  • [输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

4.3 使用示例

4.3.1. 默认 split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa,[前缀]ab,[前缀]ac等,默认的前缀是X,每个文件的行数为1000行

&#xA0; split app.log

4.3.2. 将app.out文件每200兆分割成一个文件并命名未app.log+数字方式结尾

&#xA0; split -d&#xA0; -b 200m app.out app.log&#xA0;

  1. 其它方式

5.1 vi 命令

这是个编辑命令,但也类似于more的使用方式可以用来查看搜索日志中的关键字

命令格式:vi 文件名

&#xA0; &#xA0;vi&#xA0; app.log&#xA0;

5.2 sed 命令中的搜索

命令格式:sed -n ‘/开始时间/,/结束时间/p’ > 输出的文件名

&#xA0;sed -n '/2019-04-22/,/2019-04-22 /p' log.log > bbb.txt

  1. 日志清理

6.1 删除指定时间前的文件

find ./ -name *.log -mtime +7| xargs rm -rf

6.2 echo 清理

echo "" > app.out

备注: 该方式适合控制台输出,像tomcat启动的catlina.out日志清理或者java -jar 启动指定log文件的清理。

Original: https://www.cnblogs.com/lei-z/p/16467198.html
Author: 风光小磊
Title: Linux-查看清理日志方法总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/587159/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 1111111111111111111111关于学习crm项目中的问题总结,也是自己遇到的一些错误的记录 2022/7/6

    bug thymeleaf 共享域对象 如果需要将对象的数据显示到前台页面我们可以通过使用thymeleaf实现这一点,Thymeleaf是一个动态渲染页面用的,他简单易懂,不像j…

    Java 2023年6月8日
    079
  • 在QT中添加zeromq DLL库

    1)下载地址:http://zeromq.org/distro:microsoft-windows 2)按照说明。获取相应的版本,并安装。 3 ) 安装目录中,include文件集…

    Java 2023年5月30日
    0110
  • git安装与使用,未完待续… …

    一、git概念 二、git简史 三、git的安装 四、git结构 五、代码托管中心—本地库和远程库的交互方式 六、初始化本地仓库 七、git常用命令 1、add和commit命令 …

    Java 2023年6月5日
    094
  • 【翻译】Spring Boot 条件注解

    在这篇教程中,我们将通过一些示例带你了解 Spring Boot 条件注解 Spring Boot 是自以为是的,当 Spring Boot 在classpath中找到相关依赖项时…

    Java 2023年5月29日
    085
  • IDEA常用设置及插件

    设置 1.设置打开后不直接进入项目 IDEA默认打开时会直接进入上次打开的目录,有的时候加载很长时间,但这个时候可能我们并不是要打开这个项目,这里有一个设置,在如图的位置,去掉勾选…

    Java 2023年6月5日
    071
  • 机器学习(4)特征值的处理之归一化,标准化

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/cgy1995/p/9982882.htmlAuthor…

    Java 2023年6月8日
    077
  • 「Elasticsearch」SpringBoot快速集成ES

    Elastic Search 的底层是开源库 Lucene。但是Lucene的使用门槛比较高,必须自己写代码去调用它的接口。而Elastic Search的出现正是为了解决了这个问…

    Java 2023年6月13日
    082
  • Spring常用工具方法备忘录

    1:加载配置文件 Resource resource = new ClassPathResource("log4j.properties"); Properti…

    Java 2023年5月30日
    064
  • 关于SpringMVC拦截器执行两遍的原因分析以及如何解决

    什么情况下HandlerInterceptor会执行两遍? 拦截器拦截了静态资源请求 先上代码: 1 package com.atwu.miao.intercepter; 2 3 …

    Java 2023年5月30日
    0101
  • 6、lamda表达式

    lamda表达式: 1、避免匿名内部类过多 2、让代码简洁 3、去掉没有意义的代码,保留核心逻辑 函数式接口:只包含一个抽象方法,被成为函数式接口 java;gutter:true…

    Java 2023年6月8日
    075
  • java-面向对象三大特征

    面向对象编程的三大特征:继承、封装、多态 继承是面向对象编程的三大特征之一。继承让我们更加容易实现类的扩展。实现代码的重用,不用再重新发明轮子(don’t reinve…

    Java 2023年6月15日
    083
  • iOS macOS 回到主线程的三种方式

    简单说将代码同步到主线程执行的三种方法如下:// 1.NSThread [self performSelectorOnMainThread:@selector(updateUI) …

    Java 2023年5月29日
    092
  • zookeeper篇-zk的选举机制

    点赞再看,养成习惯,微信搜索「 小大白日志」关注这个搬砖人。 文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。 说说zk的选举机制 基础概念 zxid=事务id=…

    Java 2023年6月8日
    084
  • Python3 virtual environment 在 vscode 的实践

    1、虚拟环境实际上就是将 python 解释器 + 项目中可能用的的modules,统一放在虚拟环境对应的目录 2、activate 虚拟环境,只是保证相关module下载到对应文…

    Java 2023年6月7日
    083
  • Spring Boot整合RabbitMQ

    Spring Boot整合RabbitMQ Spring Boot整合RabbitMQ 写在开头 整合流程 配置文件 RabbitMQ配置 RabbitMQ生产者 RabbitMQ…

    Java 2023年6月5日
    069
  • 基于UML软件建模的高校新闻管理系统

    前言 近年来,伴随着我国国内的网络技术快速发展。高校校园网络建设逐渐迅速发展起来,逐步演变为高校的一个宣传窗口。建立自己的高校新闻发布管理系统已经成为了一种趋势。传统的校园新闻往往…

    Java 2023年6月5日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球