linux日志查询(tail命令、分页查询等)

一、tail的使用

tail -n 20 filename
说明:显示filename最后20行。

Linux下tail命令的使用方法。
linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。
tail命令语法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [File ]
参数解释:
-f 该参数用于监视File文件增长。
-c Number 从 Number 字节位置读取指定文件
-n Number 从 Number 行位置读取指定文件。
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部开始计算。
tail可运行文件一般在/usr/bin/以下。
tail命令使用方法演示例子

1、tail -f filename
说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
2、tail -n 20 filename
说明:显示filename最后20行。
3、tail -n +20 filename
说明:显示filename前面20行。
4、tail -r -n 10 filename
说明:逆序显示filename最后10行。

二、more是干嘛的

more是一个用来分页显示大文本文件的命令,它默认是内置在各个Linux发行版中的。

怎么用more

使用more命令,只需要键入:

$ more file_name

比如,我们想检查/var/log目录下的日志文件syslog,只需要键入:

$ more /var/log/syslog

linux日志查询(tail命令、分页查询等)_第1张图片

然后我们可以看到在屏幕左下角有个提示,告诉我们当前的显示比例为0%。看上去这个文件相当大,所以第一页是全部页数的0%。使用空格键可以往下翻页,然后就可以看到提示的百分比会增加。

linux日志查询(tail命令、分页查询等)_第2张图片

限制每页显示的行数

在执行more命令的时候,它会占用你终端窗口的全部空间用于显示。但是你可以通过参数-数字来限制每页显示的行数。

例如,你希望每页限制显示12行,可以通过下面的命令:

$ more -12 /var/log/syslog

linux日志查询(tail命令、分页查询等)_第3张图片

现在,你会看到每页只显示12行,在按下空格键后,就会翻页显示后面的12行。

Display user message

我们知道,more命令会在显示区域的左下角提示当前内容所占的百分比。对于第一次使用more命令的人来说,他或她可能会想知道怎么才能往下翻页。为了避免这种情况,我们可以在执行时增加-d参数,这样就会额外显示一行用户信息“[按空格键继续,‘q‘推出.]”

linux日志查询(tail命令、分页查询等)_第4张图片

如果用户按了‘空格‘或’q‘之外的按键,more会显示一行帮助信息“ [按‘h’键查看提示。]”

linux日志查询(tail命令、分页查询等)_第5张图片

如果按下h键,会显示一个帮助信息:

linux日志查询(tail命令、分页查询等)_第6张图片

一个有意思的指令是b按钮,b按钮允许你退回到前面的页面。换句话说,b按钮可以允许向前翻页。

你可以通过左上角的...前1页信息来确认当前显示的是前面的页面。

linux日志查询(tail命令、分页查询等)_第7张图片

禁止滚动

通过参数-c,more命令不会滚动页面,而是直接清除之前的内容,替换为下一页的内容。 With -c option, more will not scroll the page. It will clear the previous page and put the next page or lines there.

$ more -10 -c lynis.log

linux日志查询(tail命令、分页查询等)_第8张图片

如果按下空格键,下一页会仍然有相同的大小。

linux日志查询(tail命令、分页查询等)_第9张图片

忽略多余的空白行

使用参数-s来忽略多余的空白行,下面是个例子:

linux日志查询(tail命令、分页查询等)_第10张图片

当我们增加参数-s后:

$ more -s doc_30.txt

忽略了多余空白行

查找字符串

如果你的日志文件非常大,那么在其中查找你想要的字符串并不是那么容易。more命令的查找功能可以帮你,通过参数+/string可以用来搜索字符串,找到的关键字会显示在第一行。比如我们要在/var/logs/syslog文件中搜索“dhclient”,那more命令的格式:

$ more +/dhclient /var/log/syslog

linux日志查询(tail命令、分页查询等)_第11张图片

然后,如果要在文件中继续搜索下一个,只需要按下/按钮,后面跟有关键字dhclient。

从指定行开始显示

你也可以通过参数+数字来指定开始显示的行,例如,我们有一个15行的文件:

linux日志查询(tail命令、分页查询等)_第12张图片

然后我们想从第5行开始显示这个文件的内容,命令看起来会是这个样子:

$ more +5 doc_30.txt

linux日志查询(tail命令、分页查询等)_第13张图片

可以显示二进制文件吗?

答案是不行. more命令会提示这样的信息,例如:

显示二进制文件

结论

more是一个用来查看文本文件的基础工具,它不能用来显示二进制文件。通常,我们可以通过命令man more或者more --help来获取更多关于more怎么使用的信息。

你可能感兴趣的:(linux命令)