Fork me on GitHub

Linux中内容查看命令"大PK"

  众所周知linux中命令cat、more、less均可用来查看文件内容,当然还有我们"非主流"的vim以及使用较少的head、tail、tac。

  下面我将介绍各种命令的用法及对比..

  cat和tac

  先说说cat和tac这两兄弟吧 -- 从单词的拼写上我们就可以发现tac是cat倒过来的,同时tac的功能也和cat相反的。

  cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。

  因为tac使用的特别少,我就直接说cat的用法吧--cat [-n]  文件名 (-n : 显示时,连行号一起输出) 当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。所以通常使用重定向的方式,输出满足指定格式的内容。

  Cat常用参数列表

-A, --show-all 等于-vET
<strong> -b, --number-nonblank 对非空输出行编号</strong>
-e 等于-vE
-E, --show-ends 在每行结束处显示"$"
<strong> -n, --number 对输出的所有行编号</strong>
-s, --squeeze-blank 不输出多行空行
-t 与-vT 等价
-T, --show-tabs 将跳格字符显示为^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
--help 显示此帮助信息并退出<strong>
</strong> --version 显示版本信息并退出

  more和less

  more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。less 命令也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

  less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:

    less passwd   然后输入:/weblogic  回车,此时如果有weblogic字符串,linux会把该字符以高亮方式显示。

  More常用参数、操作列表

     -num  一次显示的行数
     -d    在每屏的底部显示友好的提示信息
     -l    忽略 Ctrl+l (换页符)。如果没有给出这个选项,则more命令在显示了一个包含有 Ctrl+l 字符的行后将暂停显示,并等待接收命令。
     -f     计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
     -p     显示下一屏之前先清屏。
     -c    从顶部清屏然后显示。
     -s    文件中连续的空白行压缩成一个空白行显示。
     -u    不显示下划线
     +/    先搜索字符串,然后从字符串之后显示
     +num  从第num行开始显示
     Enter    向下n行,需要定义。默认为1行
     Ctrl+F   向下滚动一屏
     空格键   向下滚动一屏
     Ctrl+B   返回上一屏
     =       输出当前行的行号
     :f      输出文件名和当前行的行号
     v       调用vi编辑器
     !       调用Shell,并执行命令 
     q       退出more

  less常用参数、操作列表

  -b <缓冲区大小> 设置缓冲区的大小
  -e  当文件显示结束后,自动离开
  -f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  -g  只标志最后搜索的关键词
  -i  忽略搜索时的大小写
  -m  显示类似more命令的百分比
  -o <文件名> 将less 输出的内容在指定文件中保存起来
  -Q  不使用警告音
  -s  显示连续空行为一行
  -S  行过长时间将超出部分舍弃
  -x <数字> 将“tab”键显示为规定的数字空格
  n:重复前一个搜索(与 / 或 ? 有关)
  N:反向重复前一个搜索(与 / 或 ? 有关)
  b  向后翻一页
  d  向后翻半页
  h  显示帮助界面
  Q  退出less 命令
  u  向前滚动半页
  y  向前滚动一行
  空格键 滚动一页
  回车键 滚动一行

  head和tail

  head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。head的功能是显示文件的前几行内容

  head的语法:head [n number] 文件名 (number 显示行数)

  tail的功能恰好和head相反,只显示最后几行内容

  tail的语法:tail [-n number] 文件名

  head和tail都

  特别值得一提的是tail -f [文件名],可以实时监控文件的内容。

  vim

  vim命令普遍用于文档的编辑,同时可用于文档的查看,但是用vim打开大文件,会特别慢。vim具体的用法可查看我的上一篇博客 --《Vim命令合集》。

 小结 

  综上,如果只是查看文件内容,比如通过日志进行错误排查,最好使用less命令,less用法多样,支持搜索关键字高亮显示、同时支持向上搜;如果需要对文件进行修改,那就使用vim命令;如果需要通过日志查看程序的运行情况、比如项目启动后的日志详情,那么就使用tail -f。

posted @ 2019-05-07 14:30  JackpotHan  阅读(512)  评论(0编辑  收藏  举报