Skip to main content

查看日志包含的内容

  1. 查看 tmp.txt 文件,是否包含Enterprise这个字段
  cat -n tmp.txt | grep "Enterprise"
  1. 从第四行到第九行数据,查看包含 "Enterprise" 的数据
  sed -n '4,9p' tmp.txt  | grep "Enterprise"
  1. 按时间段查询日志:sed -n '/开始时间/,/结束时间/p' access.log,时间格式为"yyyy-mm-dd hh:mm:ss"

如:sed -n '/2019-06-07 10:00:00/,/2019-06-07 11:00:00/p' access.log

统计 access.log 文件中 包含 ‘46.229.168.143’ 的行数

cat access.log |grep '46.229.168.143' |wc -l

日志 饱和

grep -o ERROR  laravel-2019-05-28.log|wc -l

wc [选项] 文件…

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

 - c 统计字节数。

 - l 统计行数。

 - w 统计字数。

linux查看日志文件内容命令tail、cat、tac、head、echo

tail -f test.log

你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,


linux 如何显示一个文件的某几行(中间几行)

从第3000行开始,显示1000行。即显示3000~3999行

cat filename | tail -n +3000 | head -n 1000

显示1000行到3000行

cat filename| head -n 3000 | tail -n +1000

*注意两种方法的顺序

分解:

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

用sed命令

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

例:

cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行

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

cat /dev/null > /etc/test.txt 

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


tac (反向列示)

tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,

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


在Linux中echo命令用来在标准输出上显示一段字符,比如:

echo "the echo command test!"

这个就会输出“the echo command test!”这一行文字!

echo "the echo command test!">a.sh

这个就会在a.sh文件中输出“the echo command test!”这一行文字! 

该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。

用echo命令输出加引号的字符串时,将字符串原样输出;

用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

tail -f test.log

你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,