在分析线上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干货

linux系统可以查看哪些日志(这些linux查询日志的命令你都掌握了吗)(1)

linux系统可以查看哪些日志(这些linux查询日志的命令你都掌握了吗)(2)

,