linux查看日志的常用命令
cat,tac,head,tail,less,more,sed
cat 与 tac
对于少量数据,可以直接查看,其中cat从头到尾打印,而tac从则反向输出
cat test.txt
或者
tac test.txt
它可以一次输出多个文件,以空格隔开,例如
cat test1.txt test2.txt
当然, 凡是输出的命令都可以使用 > 输入到新文件,或者 >> 追加到指定文件
对于cat还有更多的参数
-n 或 –number:由 1 开始对所有输出的行数编号。
-b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 –show-ends : 在每行结束处显示 $。
-T 或 –show-tabs: 将 TAB 字符显示为 ^I。
-A, –show-all:等价于 -vET。
-e:等价于”-vE”选项;
-t:等价于”-vT”选项;
head 和 tail
这是查看头部和尾部的指令,比较适合超大的日志或动态日志,如果不指定行数默认是10行
例如,以下命令,取得头10行或尾10行
head test.txt
tail test.txt
使用 -n 指定行号,默认是正数,如果指定负数则从头开始到结尾n行为止
head -n 20 test.txt
它相当于 head -n +20 test.txt。
使用 -f 循环读取,如果文件更新会自动更新,直到按下ctrl+c终止
tail -n -20 -f test.txt
值得注意的是,使用 tail 时默认是负数,上述等效于 tail -n 20 -f test.txt
less 和 more
less和more可以直接查阅文件
less test.txt
它和前面几种查阅形式不太一样,它会进入一个特殊状态,此时可以使用上下键翻阅(仅less),也可以使用 f 来下一页,并最终给使用 q 退出这种查阅状态
还可以配合管道使用,比如前面的 cat
cat test.txt | more
而且less和more是有区别的、大概有如下几点:
- less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
- less不必读整个文件,加载速度会比more更快
- less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
通常,我们都说less is more,说明 less 被认为更强大。
sed命令
sed命令很强大,这里只介绍一个用法,
查看file1文件的第300-500行的内容?
sed -n '300,500p' file1
本篇完,还有疑问?留下评论吧