Linux常用文件显示命令

郎家岭伯爵 2023年08月11日 421次浏览

前言

整理下 Linux 中常用的文件显示的命令。

实现

tail

命令说明:

tail 命令的功能是用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾十行。 如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。

语法格式: tail [参数] 文件名

常用参数:

  • -f:持续显示文件尾部最新内容。
  • -n:设置显示文件尾部的行数。

参考示例:

# 显示指定文件的后5行
tail -n 5 access.log

显示文件的后5行

# 持续刷新显示指定文件尾部的后5行内容
tail -f -n 5 access.log

持续刷新显示指定文件的后5行内容

拓展:显示行号

# 在tail命令的输出上增加行号
tail -f -n 5 access.log | cat -n

tail命令增加行号显示

cat

命令说明:

cat 命令来自英文词组 concatenate files and print 的缩写,其功能是用于在终端设备上显示文件内容。在 Linux 系统中有很多用于查看文件内容的命令,例如 moretailhead……等等,每个命令都有各自的特点。cat 命令适合查看内容较少、纯文本的文件

语法格式: cat [参数] 文件名

常用参数:

  • -b:显示行数(空行不编号)。
  • -n:显示行数(空行也编号)。

参考示例:

cat -n access.log

显示文件内容

拓展:tac

命令说明:

tac 命令的功能是用于反向显示文件内容,即常见的查看文件内容命令 cat 的反写形式。也就是说,当我们使用 tac 命令查看文件内容时,最先显示的是最后一行,倒数第二行,倒数第三行,以此类推到最后显示原本文件的第一行内容。

语法格式: tac [参数] 文件名

more

命令说明:

more 命令的功能是用于分页显示文本文件内容。如果文本文件中的内容较多较长,使用 cat 命令读取后则很难看清,这时使用 more 命令进行分页查看就更加合适了,可以把文本内容一页一页地显示在终端界面上。

  • 按一次空格:下一页内容。
  • 按一次回车:下一行内容。
  • 按一次b键:上一页。b键,back 的缩写。

语法格式: more [参数] 文件名

常用参数:

  • -c:不滚屏,先显示内容再清除旧内容。
  • -f:计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)。
  • -p:先清除屏幕再显示文本文件的剩余内容。
  • -s:将多个空行压缩成一行显示。
  • -数字:设置每屏显示的最大行数。
  • +数字:设置从第N行开始显示内容。
  • +/关键词:从指定关键词开始前两行显示文件内容 。

参考示例:

more +5 -5 access.log

从第5行开始,每5行为1页进行分页显示

接下来我们为了更好地看出效果,我们使用 touch 命令创建一个测试文件,并使用 vim 写入一些内容。

示例文件

more +/"这是一个" -5 text.txt

从指定关键字处显示

more +/"这是.*文件" -5 text.txt

支持正则表达式

grep

命令说明:

grep 来自英文词组 global search regular expression and print out the line 的缩写,意思是用于全面搜索的正则表达式,并将结果输出。我们通常会将 grep 命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。

语法格式: grep [参数] 文件名

常用参数:

  • -i:忽略大小写进行匹配。
  • -n:显示匹配行的行号。
  • -r:递归查找子目录中的文件。
  • -B 2:显示查找到的内容及前2行
  • -A 2:显示查找到的内容及后2行
  • -C 2:显示查找到的内容及前2行和后2行
  • -o:仅显示匹配的内容

参考示例:

# 查找包含指定内容的行
grep langjia text.txt

查找包含指定内容的行

# 查找以指定内容开头的行
grep ^第 text.txt

查找以指定内容开头的行

# 显示包含查找的内容行及后两行
grep -A 2 '入' test.txt

# 显示包含查找的内容行及前两行
grep -B 2 '入' test.txt

# 显示包含查找的内容行及前两行和后两行
grep -C 2 '入' test.txt

查找包含查找内容含以及前后行的内容

# 仅显示需要匹配的字符
grep -o '相思' test.txt

# 可配合 管道符 | 和 wc -l 命令对匹配到的字符进行计数
grep -o '相思' test.txt | wc -l

仅查找匹配到的字符

拓展

以上命令前加一个 z 可用于在 .gz 压缩文件中查找内容。

例如:

# zcat用法
zcat test.txt.gz

# zgrep用法
zgrep 花落花开 test.txt.gz

总结

整理下 Linux 中常用的文件显示的命令。