你平时是怎么查看日志的?

真是个好问题,其实Linux查看日志的命令有很多种: tail、cat、head、more等,当然,我们只需要了解几种常用的方法就好了。

tail

tail [OPTION]... [FILE]...

Linux查看日志_日志文件

举个例子,例如:

# 查询日志尾部最后10行的日志;

tail -n 10 test.log


# 查询10行之后的所有日志;

tail -n +10 test.log


# 循环实时查看最后1000行记录

tail -fn 10 test.log

一般还会配合着grep搜索用,例如 :

tail -fn 1000 test.log | grep '关键字'

我还喜欢这样用,大家可以根据自己的习惯回答

tail -200f test.log


cat

cat 是由第一行到最后一行连续显示在屏幕上

一次显示整个文件 :

cat filename

从键盘创建一个文件 :

cat > filename

将几个文件合并为一个文件:

cat file1 file2 > file


注意:只能创建新文件,不能编辑已有文件

将一个日志文件的内容追加到另外一个 :

cat -n textfile1 > textfile2

清空一个日志文件:

cat : >textfile2

注意:> 意思是创建,>>是追加。千万不要弄混了。还有清空

head

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

# 查询日志文件中的头10行日志

head -n 10 test.log


# 查询日志文件除了最后10行的其他所有日志

head -n -10 test.log

more

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。

more名单中内置了若干快捷键,常用的有H(获得帮助信息)Enter(向下翻滚一行)空格(向下滚动一屏),Q(退出命令)more命令从前向后读取文件,因此在启动时就加载整个文件。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)

more的语法:more 文件名

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

Ctrl f 向下滚动一屏

空格键 向下滚动一屏

Ctrl b 返回上一屏

= 输出当前行的行号

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

v 调用vi编辑器

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

q退出more

less

less命令在查询日志时,一般流程是这样的

less log.log

注意:
shift + G 命令到文件尾部
然后输入?加上你要搜索的关键字
例如?1213

按 n 向上查找关键字

shift+n 反向查找关键字

less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。

# 查看文件

less log2013.log


# 查看进程信息并通过less分页显示

ps -ef | less ps


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

history | less


# 浏览多个文件

less log2013.log log2014.log