在分析线上bug的时候,我们通常需要查看日志来排查问题,所以掌握在linux中查看文件内容的操作命令是很重要的,今天我们就来一起学习下基本的查看文件内容的命令。
查看文件内容
cat [-AbeEnstTuv] fileName
选项与参数: -A :相当于-vET的整合, 查看文本中的所有隐藏符号,包括回车符($)、Tab 键(^I)等
-b :列出行号,仅针对非空白行做行号显示,空白行不会标记
-e :在每行结束处显示 $
-E :将结尾换行符$显示出来
-n :打印出行号,连同空白行也会有行号,与-b的选项不同
-s :当遇到有连续两行以上的空白行,就代换为一行的空白行。
**-t ** :等价于"-vT"选项;
-T : 将[tab]键以^I显示出来
-v : 列出一些看不出来的特殊字符
注意:cat仅仅适合查看行数比较少的文件, 如果文件比较大则没有什么意义了,文件会快速翻到最后一行
范例1:查看test.txt文件的内容
➜ ~ cat test.txt
第1行
第2行
第3行
第4行
第5行
第6行
第7行
第8行
第9行
第10行
范例2:查看test.txt文件的内容, 并展示行号
➜ ~ cat -n test.txt
1 第1行
2 第2行
3
4 第3行
5 第4行
6
7 第5行
8 第6行
9
10 第7行
11 第8行
12
13 第9行
14 第10行
15
more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读
空格键(Space):下一页
b:上一页
回车(Enter):下一行
:f :立刻显示文件名以及目前位置的行号
q :退出当前文件的浏览 范例1:
➜ ~ more test.txt
第1行
第2行
第3行
第4行
第5行
第6行
第7行
第8行
less
less命令比more更加有弹性,可以前后翻页,不止可以向上查找,也可以向下查找。 按键/命令 [pagedown] :向下翻页 [pageup] :向上翻页 /字符串:在当前显示的内容(翻页进度位置),向下查找这个字符串关键字 ?字符串:向上查找字符串 n :重复前一个查找,与/或?有关, 比如前一个命令是?表示向上查找,此时n会向上查找 N: 反向的重复前一个查找 g :跳转到当前文件数据的第一行 G :跳转到当前文件数据的最后一行 q :退出当前文件的浏览
范例
less test.txt
head
head命令用来提取文件的前n行,一般配合使用-n选项。 范例:查看前10行数据
➜ ~ head -n 2 test.txt
第1行
第2行
➜ ~
tail
从文件尾部截取数据,也就是后n行。tail也是工作中最常用的命令,因为可以利用-f选项,一直刷新获取文件尾部最新数据。
选项与参数 -n :查看后n行数据,注意当n后面值带“ ”号表示从第x行开始, 如 tail -n 1000 test.txt -f :循环读取 范例1:查看尾部5行数据【tail -n 5 test.txt】
➜ ~ tail -n 2 test.txt
第10行
第11行
➜ ~
范例2:查看文件尾部数据,并实时刷新数据
➜ ~ tail -f test.txt
第5行
第6行
范例3:查看文件尾部5行数据,并实时刷新数据
➜ ~ tail -n 5 -f test.txt
第5行
第6行
管道:Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起**,把一个命令的输出作为下一个命令的输入**,以这种方式连接的两个或者多个命令就形成了管道(pipe),管道命令用"|"来表示。
范例:查看ll命令输出的前10行
ll | head -n 10
grep : 命令用于查找文件里符合条件的字符串,这两个命令也是linux中最常用的的,而在查看日志文件也通常会结合这两个命令一起使用。
范例:查看文件文件中那些行包含‘zhendaxia’
cat -n test.txt | grep 'zhendaxia'
>> : 文件追加重定向命令,可以往文件末尾追加数据,正如上文 echo "第$i行" >> test.txt。
范例:将一个文件的最后10行复制到helloworld.txt中
tail -n 10 >> helloworld.txt
wc:文件字节数,字数,行数查看wc [-clw] [文件...], -c或--bytes或--chars 只显示Bytes数。 -l或--lines 只显示行数。 -w或--words 只显示字数。 范例:查看文件行数 wc -l
以上就是一些常用到的查询日志的命令,当然还有其他的命令,需要大家在平时慢慢积累。
关注公众号:臻大虾,分享更多java干货
,