linux 查看日志的几种基本操作

linux查看日志的命令有多种: tail、cat、tac、head、echo


一.查看日志方式

命令格式: 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

linux日志文件说明

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件


整理了几百本各类技术电子书和视频课程 ,送给小伙伴们。同名公号内回【666】自行领取。和一些小伙伴们建了一个技术交流群,一起探讨技术、分享技术资料,旨在共同学习进步,如果感兴趣就扫码加入我们吧!

你可能感兴趣的:(linux,tail,linux日志,cat)