Linux下查看文件内容的命令
1.cat 与 tac、nl
cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是当文件过大行数比较多时,屏幕无法全部容下时,只能看到一部分内容。
cat [-n] 文件名 : 显示时,连行号一起输出
cat [-b] 文件名:与-n相类似,只不过对空白行不进行编号。
cat还可以创建文件、合并文件,(”>”表示重定向,不过要先清空内容,”>>”表示追加)
nl其实就等同于cat -b ,输出文件内容时显示行号
tac实际上是cat反过来写,功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。
2.less和more
more的功能是将文件从第一行开始,根据输出窗口的大小适当的输出文件内容,一页一页的显示方便读者阅读。
more的语法:more 文件名
Enter 向下一行;
b 向上一页,f向下一页;
空格键 向下滚动一屏 ;
= 输出当前行的行号;
:f 输出文件名和当前行的行号;
v 调用vi编辑器;
q 退出查看页面
另外,more还可以配合管道符“|”使用,例如:ls -al | more
less的功能和more相似,但是提供了搜索的功能。
less的语法:less [-N] 文件名 -N显示行号
上下键(b,f)进行前翻页和后翻页,这样看起来更方便。
还可以在文件中进行搜索你想找的内容,/weblogic是向下搜索,?weblogic是向上搜索。此时如果有weblogic字符串,linux会把该字符已高亮方式显示。
q 退出查看页面
3.head和tail
head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用,比如查看日志,日志文件特别大。
head的语法:head [-n number] 文件名
tail的语法:tail [-n number] 文件名
tail命令的-f选项可以把文件最尾部的内容显示在屏幕上,并且不刷新。-s:与-f合用,表示每次反复的时间间隔是S秒
4.tailf
格式:tailf logfile 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容。
tailf命令几乎等同于tail -f,严格说来应该与tail --follow=name更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件(It is similar to tail -f but does not access the file when it is not growing. This has the side effect of not updating the access time for the file, so a filesystem flush does not occur periodically when no log activity is happening.)。tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问嘛(tailf is extremely useful for monitoring log files on a laptop when logging is infrequent and the user desires that the hard disk spin down to conserve battery life.)。tailf命令不是个脚本,而是一个用C代码编译后的二进制执行文件,某些Linux安装之后没有这个命令,本文提供了怎么编译安装tailf命令的方法。
1. tailf 总是从文件开头一点一点的读, 而tail -f 则是从文件尾部开始读
2. tailf check文件增长时,使用的是文件名, 用stat系统调用;而tail -f 则使用的是已打开的文件描述符; 注:tail 也可以做到类似跟踪文件名的效果; 但是tail总是使用fstat系统调用,而不是stat系统调用;结果就是:默认情况下,当tail的文件被偷偷删除时,tail是不知道的,而tailf是知道的。