Linux命令之文件内容查看(cat、tac、nl、more、less、head、tail)

本文将学到的命令

  1. cat
  2. tac
  3. nl
  4. more
  5. less
  6. head
  7. tail

cat(从第一行开始显示文件内容)

首先来看一下官方文档

man cat
CAT(1)                               GNU                                         CAT(1)
NAME
       cat - 连接文件并在标准输出上输出
SYNOPSIS 总览
       cat [选项列表] [文件列表]...
DESCRIPTION 描述
       将文件列表中的文件或标准输入连接到标准输出。
       -A, --show-all 等价于 -vET 。
       -b, --number-nonblank 给非空输出行编号。
       -e     等价于 -vE 。
       -E, --show-ends  在每行结束显示 $ 。
       -n, --number 给所有输出行编号。
       -s, --squeeze-blank  将所有的连续的多个空行替换为一个空行。
       -t     等价于 -vT 。
       -T, --show-tabs 把 TAB 字符显示为 ^I 。
       -u     (被忽略的选项)
       -v, --show-nonprinting  除了 LFD 和 TAB 之外所有控制符用 ^ 和 M- 记方式显示。
       --help 显示帮助并退出。
       --version 显示版本信息并退出。
       没有指定文件或指定的文件是 -,则从标准输入读取。

下面我们讲解几个比较常用的参数:

  • -A : 相当于-vET的整合选项,可列出一些特殊字符而不是空白而已
  • -b : 列出行号,仅针对非空白行做行号显示,空白行不标行号
  • -E : 将结尾的断行字符$显示出来
  • -n : 打印行号,连同空白行也会有行号
  • -T : 将tab安检以^I显示出来
  • -v : 列出一些看不出来的特殊字符

下面是这些参数的使用示例:

在这里插入图片描述

tac(从最后一行开始显示)

可以看出tac是cat的倒着写

照例来看一下官方文档

man tac
TAC(1)                                    FSF                                    TAC(1)
NAME
       tac - 反转显示文件
总览 (SYNOPSIS)
       ../src/tac [OPTION]... [FILE]...
描述 (DESCRIPTION)
       把 每个 文件 FILE 显示在 标准输出, 后面 的 行 放在 前面.  如果 没有 指定 文件 FILE 或者 FILE 是 -, 就从 标准输入 读取 数据.
       -b, --before  把 分隔单元 移到 前面, 而不是 后面
       -r, --regex 分隔单元 是 正规表达式
       -s, --separator=STRING 用 STRING 取代 换行符(newline) 作为 分隔单元
       --help 显示 帮助信息, 然后 结束
       --version 显示 版本信息, 然后 结束

这个命令就比较简单了 ,可以看一下这个命令与cat命令输出同一个文件有何不同

在这里插入图片描述

nl(显示的时候,同时输出行号)

首先来看一下官方文档

man nl
NL(1)                                  User Commands                              NL(1)
NAME
       nl - number lines of files
SYNOPSIS
       nl [OPTION]... [FILE]...
DESCRIPTION
       Write each FILE to standard output, with line numbers added.  With no FILE, or when FILE is -, read standard input.
       Mandatory arguments to long options are mandatory for short options too.
       -b, --body-numbering=STYLE use STYLE for numbering body lines
       -d, --section-delimiter=CC use CC for separating logical pages
       -f, --footer-numbering=STYLE use STYLE for numbering footer lines
       -h, --header-numbering=STYLE use STYLE for numbering header lines
       -i, --line-increment=NUMBER line number increment at each line
       -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one
       -n, --number-format=FORMAT  insert line numbers according to FORMAT
       -p, --no-renumber do not reset line numbers at logical pages
       -s, --number-separator=STRING add STRING after (possible) line number
       -v, --starting-line-number=NUMBER first line number on each logical page
       -w, --number-width=NUMBER use NUMBER columns for line numbers
       --help display this help and exit
       --version output version information and exit

不知道为什么这个文档是英文的了

下面讲解一下比较常用的三个选项

  • -b :指定行号显示的方式
    • -b a :表示无论是否为空行,也同样列出行号,类似于cat -n
    • -b t :如果有空行,空的那一行不列出行号(默认值)
  • -n :累出行号的表示方法
    • -n ln:行号在屏幕的最左方显示
    • -n rn:行号显示在自己字段的最右方,且不加0
    • -n rz:行号显示在自己字段的最右方,且加0
  • -w:行号字段占用的字符数

下面看一下使用示例

在这里插入图片描述

more(一页一页地显示文件内容)

more命令比较简单,在more后面跟上要查看的文件名就可以查看内容了,

下面主要讲解一下在more这个程序的运行过程中的几个操作:

  • 空格键:向下翻一页
  • Enter:代表向下翻一行
  • /字符串:代表在这个显示的内容中,向下搜寻“字符串”这个关键词
  • :f:立刻显示出文件名以及目前显示的行数
  • q:代表立刻离开more,不再显示该文件内容
  • b:或CTRL+b:代表往回翻页,不过这工作只对文件有用,对管道无用

less(与more类似,但是它可以往前翻页)

less的操作比more要丰富一些:

  • 空格键:向下翻一页
  • pagedown:向下翻动一页
  • pageup:向上翻动一页
  • /字符串:代表在这个显示的内容中,向下搜寻“字符串”这个关键词
  • ?字符串:代表在这个显示的内容中,向上搜寻“字符串”这个关键词
  • n:重复前一个搜索
  • N:反向的重复前一个搜索
  • g:前进到这个资料的第一行
  • G:前进到这个资料的最后一行
  • q:代表立刻离开less,不再显示该文件内容

head(只看前几行)

首先看一下官方文档

man head
HEAD(1)                                 FSF                                     HEAD(1)
NAME(名称)
       head - 输出文件的开始部分
SYNOPSIS(总览)
       ../src/head [OPTION]... [FILE]...
DESCRIPTION(描述)
       在标准输出上显示每个FILE的起始10行.  如果多于一个FILE,则一个接一个地显示, 并且在每个文件显示的首部给出文件名.  如果没有FILE,或者FILE为-, 那么就从标准输入上读取.
       -c, --bytes=SIZE 打印起始的SIZE字节
       -n, --lines=NUMBER 显示起始的NUMBER行,而非默认的起始10行
       -q, --quiet, --silent 从不显示给出文件名的首部
       -v, --verbose 总是显示给出文件名的首部
       --help 显示帮助后退出
       --version 输出版本信息后退出
       SIZE可以有一个倍数后缀: b表示512,k表示1K,m表示1M.  如果第一个OPTION(选项)为-VALUE, 当后面连接着倍数bkm之一时,则读为-c VALUE, 否则读为-n VALUE.

下面主要讲一下-n这个参数的使用。

  • -n:后面接数字,代表显示几行的意思

在这里插入图片描述

如果没有加上-n的话,默认显示十行。

在这里插入图片描述

如果-n后面写的是负数代表列前的所有行数,但不包括后面的100行。比如说/etc/man_db.conf共有131行,则上述的指令 head -n -100 /etc/man_db.conf 就会列出前面的31行,后面的100行就不打印出来了

tail (只看后面几行)

这里主要讲解一下下面两个选项:

  • -n:后面接数字,代表显示几行的意思
  • -f:表示持续侦测后面所接文件,要等到按下CTRL+c才会结束tail的侦测

在这里插入图片描述

默认显示最后的十行

在这里插入图片描述

显示100行以后的数据

在这里插入图片描述

要等到输入CTRL+c之后才会离开tail这个指令的侦测

关于tail更加详细的介绍,可以看我的另一篇博客。
linux查看tomcat运行日志

例题

1.想要显示/etc/man_db.conf的第11到第20行

head -n 20 /etc/man_db.conf | tail -n 10

2.继续上一题的基础上 列出正确的行号

cat -n /etc/man_db.conf | head -n 20 |tail -n 10
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值