目录
1、tail
2、head
3、cat
4、more
5、sed
6、less
Linux查看日志的命令有多种: tail、cat、tac、head、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 10 test.log 循环实时查看最后1000行记录(最常用的)
配合着grep用:
tail -fn 1000 test.log | grep '关键字'
一次性查询的数据量太大,可以进行翻页查看:
tail -n 4700 aa.log |more -1000 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)
2、head
跟tail是相反的head是看前多少行日志
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
head其他参数
-f | 循环读取 |
-q | 不显示处理信息 |
-v | 显示详细的处理信息 |
-c<数目> | 显示的字节数 |
-n<行数> | 显示行数 |
-q, --quiet, --silent | 从不输出给出文件名的首部 |
-s, --sleep-interval=S | 与-f合用,表示在每次反复的间隔休眠S秒 |
3、cat
cat 是由第一行到最后一行连续显示在屏幕上
一次显示整个文件 :
$ cat filename
从键盘创建一个文件 :
$cat > filename
将几个文件合并为一个文件:
$cat file1 file2 > file 只能创建新文件,不能编辑已有文件.
将一个日志文件的内容追加到另外一个 :
$cat -n textfile1 > textfile2
清空一个日志文件:
$cat : >textfile2
注意:>
意思是创建,>>
是追加。
cat
其他参数
-f | 循环读取 |
-q | 不显示处理信息 |
-v | 显示详细的处理信息 |
-c<数目> | 显示的字节数 |
-n<行数> | 显示行数 |
-q, --quiet, --silent | 从不输出给出文件名的首部 |
-s, --sleep-interval=S | 与-f合用,表示在每次反复的间隔休眠S秒 |
4、more
more
命令是一个基于vi
编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)
more
名单中内置了若干快捷键
more
的语法:more
文件名
H | 获得帮助信息 |
Enter | 向下翻滚一行 |
空格 | 向下滚动一屏 |
Q | 退出命令 |
Enter | 向下n行,需要定义,默认为1行 |
Ctrl f | 向下滚动一屏 |
空格键 | 向下滚动一屏 |
Ctrl b | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
v | 调用vi编辑器 |
!命令 | 调用Shell,并执行命令 |
q | 退出more |
5、sed
这个命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询
按照行号
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
按照时间段
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
6、less
less命令在查询日志时,一般流程是这样的
less log.logshift + G 命令到文件尾部 然后输入 ?加上你要搜索的关键字例如 ?1213按 n 向上查找关键字shift+n 反向查找关键字
less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
less log2013.log 查看文件
ps -ef | less ps查看进程信息并通过less分页显示
history | less 查看命令历史使用记录并通过less分页显示
less log2013.log log2014.log 浏览多个文件
常用命令参数:
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 命令 |