zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    bzoj1130:[POI2008]POD Subdivision of Kingdom
    hdu1873-看病要排队-(结构体优先队列)
    历届试题 危险系数-(dfs+记录路径)
    POJ2536-Gopher II-(匈牙利算法)
    POJ2239-Selecting Courses-(匈牙利算法)
    CF308C-Sereja and Brackets-(线段树+括号匹配)
    hdu1005-Number Sequence-(循环节)
    matlab-层次分析法
    hdu5285-wyh2000 and pupil-(染色法二分图判定)
    matlab-线性回归
  • 原文地址:https://www.cnblogs.com/JackpotHan/p/10825260.html
Copyright © 2011-2022 走看看