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