linux查看日志常用命令

一.查看日志方式

命令格式: tail[必要参数][选择参数][文件]

这个是我最常用的一种查看方式 
1.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

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

head其他参数与tail 类似

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

一次显示整个文件 : $ cat filename
从键盘创建一个文件 : $ cat > filename  
将几个文件合并为一个文件: $cat file1 file2 > file //只能创建新文件,不能编辑已有文件.
将一个日志文件的内容追加到另外一个 : $cat -n textfile1 > textfile2
清空一个日志文件 $cat : >textfile2 

  

注意:>意思是创建,>>是追加。千万不要弄混了。 
cat其他参数与tail 类似

4.tac 
tac 则是由最后一行到第一行反向在萤幕上显示出来

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 log.log 

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

shift+n  关键字之间进行切换

  二.其他会应用到的命令

history // 所有的历史记录

history | grep XXX  // 历史记录中包含某些指令的记录

history | more // 分页查看记录

history -c // 清空所有的历史记录

!! 重复执行上一个命令

查询出来记录后选中 : !323

  

猜你喜欢

转载自www.cnblogs.com/huangliulei/p/9480618.html