当前位置: 代码迷 >> 综合 >> Linux中查看文本文件内容命令cat/tac/nl/more/less/head/tail/vi总结
  详细解决方案

Linux中查看文本文件内容命令cat/tac/nl/more/less/head/tail/vi总结

热度:49   发布时间:2023-12-07 21:38:54.0

概述

在Linux系统下,有很多命令可以查看文本文件的内容,如cat/tac/nl/more/less/head/tail等命令,当然还有vi/nano等文本编辑器。在这里,我只介绍其中自己常用的一部分命令和操作。
cat:从第一行开始显示全部的文本内容;
tac:从最后一行开始,显示全部分文本内容,与cat相反;
nl:显示文本时,可以输出行号;
more:按页显示文本内容;
less:与more差不多,也是按页显示文本内容,区别是less可以一行一行的回退,more回退只能一页一页回退;
head:从头开始显示文件指定的行数;
tail:显示文件指定的结尾的行数,但每一行的位置还是原文件中的位置,不会像tac那样与原文件相反。
vi: NB的Linux文本编辑器。

例子与说明

cat

  • cat demo.txt
    显示demo.txt文件全部内容
  • cat -b demo.txt
    显示demo.txt文件全部内容,非空的行输出行号,空行会输出,但不标记行号
  • cat -n demo.txt
    显示demo.txt文件全部内容,所有行都输出行号
    cat
    优点:简单
    缺点:当文本文件内容多于一页内容时,只能显示出最后一页的内容,无法看到前面的内容。

tac

  • tac demo.txt
    从最后一行开始,倒序输出demo.txt的内容。本人不常用。
    tac

nl

  • nl demo.txt
    显示文件内容,顺便输出行号,默认情况下空行不记录行号
  • nl -b a demo.txt
    • b a #空行也输出行号
    • b t #默认设置
    • n ln ##行号最左方显示
    • n rn ##行号最右方显示,且不加0(然并卵,我的机器上依然显示在左边)
    • n rz ##行号最右方显示,且加0(再次然并卵,但加了0了,如下图所示)
    • w ##设置行号字段占用的位数
      nl
      优点:貌似很灵活的样子
      缺点:就查看下内容,输出个行号而已,搞那么复杂有卵用。。。

more

  • more demo.txt
    • 按一下空格则往下翻一页
    • 按一下Enter则往下翻一行
    • 按一下B键往上翻一页
    • 不能往上一行一行的翻回去了
    • :f 可以显示文件名和现在的行数
    • q退出more

less

  • less demo.txt
    • more命令的所有按键less都支持
    • ↑↓箭头可以实现一行一行的上下翻
    • PageDown/PageUp可以实现一页一页的上下翻
  • head demo.txt
    默认只显示文件的前10行文本内容
  • head -n 6 demo.txt
    -n 6 参数指定显示文件的前6行
  • head -n -4 demo.txt
    -n -4 负数表示除去文件结尾的4行,其他的从头开始的所有行都显示出来
    head

tail

  • tail demo.txt
    默认只显示从文件最后一行开始的10行文本内容
  • tail -n 5 demo.txt
    -n 5 参数指定显示文件的最后5行
  • tail -n -5 demo.txt
    **-n -5**tail命令不支持负数,执行结果同-n 5
    tail

vi

vi命令是使用VIM文本编辑器打开文本,VIM编辑器目前本人也是刚开始学习,只记住了一些简单的命令:

  • vi demo.txt 进入Normal模式查看文本
  • i 进入Insert模式插入内容,编辑文本
  • nG n代表行号,在Normal模式输入nG则定位到第n行
  • :set number 在Normal模式输入则显示文本行号,空行也会显示行号
  • ESC 退出Insert模式至Normal模式
  • :wq 在Normal模式下保存退出。w保存;q退出;可以单独使用
    就知道那么多了。希望以后能熟练使用VIM编辑器。
    关于VIM的入门,请参考我的另一篇博客:VIM编辑器操作命令积累
    陈皓老师的博客文章:VIM练级攻略
  相关解决方案