众所周知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。

Linux中内容查看命令"大PK"的更多相关文章

  1. Linux中内存查看命令free详解(转)

    add by zhj:说了那么多,其实看第一行就足够了,free项就是未使用的内存.其实,我是感觉压根就没必要 使用free命令,用top代替就行了 原文:http://liustb.blog.163 ...

  2. 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)

    原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...

  3. linux常用命令之--文本编辑和文本内容查看命令

    linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式. 一般模式:当编辑一个文件时,刚进入文件就是一般模式. ...

  4. Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

  5. Linux的文本编辑和文本内容查看命令

    Linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式.    一般模式:当编辑一个文件时,刚进入文件就是一般模 ...

  6. Linux故障:linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。

    linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0".   ...

  7. 在linux中使用Sqlplus命令登录MySQL,查看表并设置行数和宽度,使其正常显示

    在linux中使用sqlplus命令进入MySQL,设置行数和行宽   1) 查看目前的pagesize,默认是14: 1.      show pagesize;    2.      set pa ...

  8. Linux 文件内容查看工具介绍-cat,less,more,tail,head

    Linux 文件内容查看工具介绍 作者:北南南北来自:LinuxSir.Org摘要: 本文讲述几种常用文件内容的查看工具,比如cat.more.less.head.tail等,把这些工具最常用的参数. ...

  9. Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。

    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显示日期的 ...

随机推荐

  1. ADO.NET中的数据库帮助类

    ADO.NET是.net framework中的一个重要模块,用于程序和数据源的连接,它的类都位于 System.Data.dll 中. 用于SQLServer的命名空间:System.Data.Sq ...

  2. 从零开始的JAVA(1).输入

    理一遍JAVA的输入和输出,跟C语言还是有点不用的,虽然以前学过一点.不过好像忘的一干二净了哈哈.从头来一遍把,这次跟着翁恺老师GOGO 1.输出语句:System.out.println();--快 ...

  3. Unity踩坑记录

    最近开始学习Unity,因为会一点儿C#,Delphi,Python,三种都是半桶水都算不上的级别. 首先排除了Python,其次delphi是我最喜欢的,奈何它目前我能了解到的引擎都很老了,dilp ...

  4. jQuery---手风琴案例+stop的使用(解决动画队列的问题)

    手风琴案例+stop的使用(解决动画队列的问题) stop();// 停止当前正在执行的动画 <!DOCTYPE html> <html lang="en"> ...

  5. BSGS求解离散对数问题

    离散对数问题是求解axΞb mod(n) 同余方程 以下模板使用于gcd(a,n)=1的情况 ; int hs[mod],head[mod],Next[mod],id[mod],top; void i ...

  6. 4 Values whose Sum is 0 UVA 1152

    题目链接:https://vjudge.net/problem/UVA-1152 这题题意就是在四个集合内.每个集合分别里挑一个数a,b,c,d,求a+b+c+d=0有多少种选法. 暴力的话就是四重循 ...

  7. ubantu安装apache

    1.命令安装: sudo apt install apache2 2.检查是否启动了Apache服务 systemctl status apache2 3.开启.关闭和重启服务器 /etc/init. ...

  8. could not parse as expression: "/login" (template: "include/include" - line 32, col 42)

    <li><a href="login.html" th:href="/login">登录</a></li> or ...

  9. python接口自动化之发送post(四)

    1.ssl问题 目前很多的请求使用的都是较为安全的https请求,https请求相对于http安全级别更高,需要验证ssl证书 写代码的时候有两种可以忽略ssl验证的方法 (1)import urll ...

  10. 【Python】输出12个星座

    原理:利用Unicode编码 for i in range(12): print(chr(9800+i),end="")