linux查看实时日志命令(查看日志的三种命令分享)

linux查看实时日志命令(查看日志的三种命令分享)

Linux命令有很多,但是对于非运维人员来说,只需要掌握常用的命令即可;本文中的命令只列出最常用的使用方法,并没有列出全部,对于大多数人来说已经足够了。

各命令的主要区别:

linux命令中cat、more、less、tail、head均可用来查看文件内容,主要区别有:

cat是一次性显示整个文件的内容,适用于文件内容少的情况;

more和less一般用于显示文件内容超过一屏的内容,并且提供翻页、查找等功能。

tail 和 head分别显示文件的后几行和前几行内容,也常用于大文件的截取。

一、cat

cat 命令常用于显示整个文件的内容,或者合并多个文件。

语法:

cat [options] fileName

1、常用参数:

-n 或 –number:由 1 开始对所有输出的行数编号。

-b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。

2、实例:

(1)把 file1 的文档内容全部显示在屏幕上:

cat file1

(2)把 file1 的文档内容加上行号后输入 file2 这个文档里:

cat -n file1 > file2

(注意:如果file2中原本有内容,此命令会覆盖file2中原有内容)

(3)把file1和file2的内容合并到file3,同样会覆盖原file3.txt中的内容:

cat file1 file2 > file3

(4)把 file1 和 file2 的文档内容加上行号(空白行不加)之后将内容追加到 file3 文档里:

cat -b file1 file2 >> file3

(5)清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

总结:当使用>时,cat会覆盖右边的文件;当使用>>时,cat会追加到右边的文件中。

3、cat 的反命令–tac 命令

把cat 单词反过来就是 tac, 该命令同样是显示整个文件的内容,但是倒序显示。

二、more

more 比 cat 功能更强大,会让日志分页显示,同时显示内容的百分比,更方便阅读。

最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(只能用 / 向下搜索)。

1、语法:

more [-dlfpcsu] [-num] [ /pattern] [ linenum] [fileNames..]

2、常用参数:

-num 一次显示的行数

/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串前两行开始显示

/字符串:向下搜索”字符串”的功能

num 从第 num 行开始显示

fileNames 欲显示内容的文档,可以是多个文件

3、实例:

(1)逐页显示file1内容:

more file1

(2)设定每屏显示的行数:

more -10 file1

以10行为单位翻页

(3)从第 20 行开始显示 file1 内容:

more 20 file1

(4)同时显示多个文件内容:

more file1 file2

依次显示出file1和file2的全部内容。

(5)从文件中查找第一个出现”liu”字符串的行,并从该处前两行开始显示输出:

more /liu test.log

4、常用操作命令

Enter 向下n行,需要定义,默认为1行。

空格键 向下滚动一屏

b 向上滚动一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

!命令 调用Shell,并执行命令

三、less

less 与 more 类似,less 的用法比起 more 更加的有弹性。而且拥有更多的搜索功能,不止可以向下搜,也可以向上搜,跟vi中的搜索功能更相似。

1、语法:

less [参数] [fileNames…]

2、常用参数:

-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-i 忽略搜索时的大小写

-m 显示类似more命令的百分比

-M 显示读取文件的百分比、行号及总行数

-N 在每行前显示行号

/字符串:向下搜索”字符串”的功能

?字符串:向上搜索”字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

&pattern – 仅显示匹配模式的行,而不是整个文件

空格键 滚动一页

回车键 滚动一行

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

G – 移动到最后一行

g – 移动到第一行

h – 显示 less 的帮助文档

3、less 版 tail -f

在 Linux 动态查看日志文件常用的命令非 tail -f 莫属,其实 less 也能完成这项工作,使用 F 命令。

在 less 查看日志文件时:

可以按大写 F,就会有类似 tail -f 的效果,读取写入文件的最新内容, 按 ctrl C 停止。

可以按 :e 查看下一个文件, 用 :n 和 :p 来回切换。

4、实例

1、分页查看文件,与more类似:

less log2013.log

2、ps查看进程信息并通过less分页显示同时显示行号:

ps -ef | less -N

3、查看命令历史使用记录并通过less分页显示:

4、浏览多个文件

less log1.log log2.log

说明:

输入 :n后,切换到 log2.log

输入 :p 后,切换到log1.log

5、总结:less 和 more 对比

more命令从前向后读取文件,因此在启动时就加载整个文件,如果文件较大时,加载速度慢。

less 并未在一开始就读入整个文件,因此在遇上查看大文件时,会比more、vi等工具的速度更快。同时,less的查找功能更强大。

more和less都支持:用空格显示下一页,按键b显示上一页。

四、tail

tail 用来显示文件的最后几行内容,当文件内容有更新时,tail会自己主动刷新,确保一直显示最新的文件内容。

1、命令语法

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]

2、常用参数:

-f 监视File文件增长,动态刷新文件

-n Number 从倒数Number行位置读取指定文件

-c Number 从倒数Number字节数位置读取指定文件

3、实例

(1)显示文件最后几行内容:

tail filename

默认只显示文件最后10行内容,并退出文件,不会自动刷新。

(2)显示文件最后50行内容:

tail -n 50 filename

显示文件最后50行内容,并退出文件,不会自动刷新。

(3)显示文件最后内容,并动态刷新:

tail -f filename

或 tailf filename

监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),并动态刷新显示在屏幕上。按下CTRL C可退出。

(4)指定文件动态刷新的行数:

tail -50f filename

显示最后50行文件内容,并动态刷新,每次刷新50行。

(5)截取文件的后100行,并保存到新文件中

tail -n 1000 file1.txt > file2.txt

五、head

head 用来显示文件的前面几行内容,可以指定行数和字节数。

1、命令语法

tail [-v | -c Number | -n Number] [ File ]

2、常用参数:

-v 在输出内容前面显示文件名

-n Number 显示文件的前面Number行内容

-c Number 显示文件的前面Number字节内容

3、实例

(1)显示前5行,并显示文件名

head -vn 5 head.txt

(2)显示前5个字节

head -c 5 head.txt

(3)截取文件的前100行,并保存到新文件中

head -n 1000 file1.txt > file2.txt

4、总结:tail 和 head 对比

tail 可显示文件最后几行的内容,并动态刷新。

head 可显示文件前面几行的内容。

二者也常用于大文件的截取。

本文首发于本人csdn账号yolanda0606博文中:https://blog.csdn.net/lijing742180/article/details/83409704

1

END

1

发表评论

登录后才能评论