linux日志查找
先必须了解两个最基本的命令:
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
![](https://img.haomeiwen.com/i6762354/999198615f8a20bf.jpg)
场景2:那么按日期怎么查呢? 通常我们非常需要查找指定时间端的日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效.
![linux查找日志技巧](http://b.hiphotos.baidu.com/exp/w=500/sign=b665145eda33c895a67e987be1127397/4bed2e738bd4b31c3e40f77284d6277f9f2ff8ff.jpg)
关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,以确保第4步可以拿到日志
这个根据时间段查询日志是非常有用的命令.
如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
cat -n test.log |grep "地形" >xxx.txt
![linux查找日志技巧](http://e.hiphotos.baidu.com/exp/w=500/sign=bd4411326309c93d07f20ef7af3df8bb/e7cd7b899e510fb37b772cabdd33c895d1430c9b.jpg)
sz xxx.txt
可以把日志保存在本地进行查看
cat相关用法
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
把test.txt文件扔进垃圾箱,赋空值test.txtcat /dev/null > /etc/test.txt
详解
http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html