Linux查看日志的几种方式

Linux查看日志的几种方式

Linux查看日志的命令有多种: tail、head、cat、tac、sed、more、less、echo等

1、tail

  • 命令格式
命令格式: tail[必要参数][选择参数][文件]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
  • 用法用例
tail  -n  10   test.log   ## 查询日志尾部最后10行的日志;
tail  -n +10   test.log   ## 查询10行之后的所有日志;
tail  -fn 1000 test.log   ## 循环实时查看最后1000行记录(最常用的)
## 可配合grep使用
tail -fn 1000 test.log | grep '关键字'
## 如果一次性查询的数据量太大,可以进行翻页查看
tail -n 4000  test.log |more -1000 ## 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)
## 把test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt

2、head

跟tail是相反的head是看前多少行日志,head其他参数参考tail

head -n  10  test.log   ## 查询日志文件中的头10行日志;
head -n -10  test.log   ## 查询日志文件除了最后10行的其他所有日志;

3、cat

cat 是由第一行到最后一行连续显示在屏幕上。
cat其他参数参考tail。

## 一次显示整个文件
 $ cat filename
## 创建一个文件
 $ cat > filename
## 将几个文件合并为一个文件
 $ cat file1 file2 > file ## 只能创建新文件,不能编辑已有文件.
## 将一个日志文件的内容追加到另外一个
 $ cat -n textfile1 >> textfile2
## 清空一个日志文件
 $ cat : >textfile2
## 注意:
## > 是创建,将两个或多个文件连接到另一个新文件;  
## >> 是追加,运算符将输出附加到指定文件,或者如果它不存在则创建指定文件。

4、tac (反向列示)

tac 是将 cat 反写过来,所以他的功能就跟 cat 相反。
cat 是由第一行到最后一行连续显示在萤幕上,
而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

## 一次显示整个文件,按行倒序排列
 $ tac filename
## 创建一个文件
 $ tac > filename
## 将几个文件合并为一个文件
 $ tac file1 file2 > file ## 只能创建新文件,不能编辑已有文件.(按文件排列顺序,从上到下合并到一个文件里)
具体示例如下:

在这里插入图片描述
Linux查看日志的几种方式_第1张图片
Linux查看日志的几种方式_第2张图片

5、sed

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

## 只查看文件的第5行到第10行
 $ sed -n '5,10p' filename
## 按照时间段查看日志
 $ sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

6、more

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
more命令从前向后读取文件,因此在启动时就加载整个文件。

more的语法:more [文件名]

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

7、less

less命令在查询日志时,一般流程如下

  • 常用命令参数
## less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
less log2013.log 查看文件
ps -ef | less   ps查看进程信息并通过less分页显示
history | less   查看命令历史使用记录并通过less分页显示
less log2013.log log2014.log   浏览多个文件
常用命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
h 显示帮助界面
q 退出less 命令
less test.log

shift+G : 	命令到文件尾部  然后输入 ?加上你要搜索的关键字例如 ?1213
按n :  		向上查找关键字
shift+n :	反向查找关键字

## less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
less log2013.log 	## 查看文件
ps -ef | less   	## ps查看进程信息并通过less分页显示
history | less   	## 查看命令历史使用记录并通过less分页显示
less test1.log test2.log   ## 浏览多个文件

8、echo

echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号
用echo命令输出加引号的字符串时,将字符串原样输出;
用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

参考文章:
  • Linux 6种日志查看方法,不会看日志会被鄙视的
  • linux查看日志文件内容命令tail、cat、tac、head、echo

你可能感兴趣的:(Linux,linux,bash,运维)