Linux命令(一):cat,more,less,tail查看文件内容命令详解

  根据个人开发习惯和需要,现对Linux下用于查看文件的命令进行汇总,下面汇总的命令的参数个人认为是常用易用且好用的。

前言

  应用服务部署在Linux服务器,经常需要查看一些日志相关文件,这里汇总下常用的Linux下查看文件的命令。
  以下的命令显示的参数都是我个人认为会经常用到的,大部份比较偏的参数和组合就没有在这里总结了。
  根据我个人的习惯,tail命令时非常实用的命令,可以实时跟踪文件的更新内容。

cat

cat:连接文件并打印内容到标准输出设备上。

语法

#cat [参数] fileName

参数

  • -n:由1开始对所有输出行编号。
  • -b:和 -n 相似,但对空白行不编号。
  • -s:连续两行及以上的空白行,用一行替换。
  • -E:尾行结束处显示$
  • -T:将TAB字符显示为^|

示例

  • #cat -ns index.html //输出并对行进行编号。
  • #cat -n file1 > file2 //将文档1内容加上编号输出到文档2,会覆盖文档2原有内容,如果不存在则创建。
  • #cat -b file1 file2 >> file3 //将两个文档内容行编号输出到文档3,空白行不编号。
  • #cat /dev/null > file1 //清空文档1的内容。

more

more:一页页显示文件内容。

语法

#more [参数]

参数

  • -c:清空当前屏幕再显示内容,不可上下滚动。
  • -d:在屏幕底部显示提示。
  • -s:连续两行以上的空白空以一行代替显示。
  • -NUM:一次显示的行数,翻页显示时以以此行数显示。
  • +NUM:从第NUM行开始显示。
  • +/pattern:搜索该字符串pattern,从该字符串位置开始显示。

    操作

  • Enter:向下n行,默认为1行。
  • space:向下滚动一屏。
  • f:向下滚动一屏。
  • Ctrl+F:向下滚动一屏。
  • b:向上滚动一屏。
  • Ctrl+B:向上滚动一屏。
  • =:显示当前行的行号。
  • f:显示文件名和当前行的行号。
  • V:调用vi编辑器。
  • !:命令 调用Shell,并执行命令。
  • q:退出more。

    示例

  • #more -10 index.html //显示10行内容。
  • #more +10 index.html //从第10行开始显示。
  • **#more -c index.html ** //显示内容后清除旧内容,无法滚动。
  • **#more +/title index.html ** //先搜索文件中的字符title,从该字符位置开始显示。

less

less:与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

语法

#less [参数] 文件

参数

  • -f:强迫打开特殊文件,例如外围设备代号、目录和二进制文件。
  • -m:显示类似more命令的百分比。
  • -N:显示每行的行号。
  • -/:向下搜索字符串,搜索到打底颜色显示,按上下翻页可查看到。
  • ?:向上搜索字符串,搜索到打底颜色显示,按上下翻页可查看到。

操作

  • n:重复前一个搜索(与/或?有关)。
  • N:反向重复前一个搜索(与/或?有关)。
  • b:向后翻一页。
  • d:向后翻半页。
  • u:向前滚动半页。
  • y:向前滚动一行。
  • space(空格):滚动一行。
  • Enter(回车):滚动一页。
  • [pagedown]:向下翻一页。
  • [pageup]:向上翻一页。
  • ctrl + F` 向前移动一屏。
  • ctrl + B` 向后移动一屏。
  • ctrl + D` 向前移动半屏。
  • ctrl + U` 向后移动半屏。
  • j:向前移动一行。
  • k:向后移动一行。
  • G:移动到最后一行。
  • g:移动到第一行。
  • q / ZZ:退出 less 命令。
  • v:调用vim编辑器。
  • h:显示帮助界面。

示例

  • #ps -ef | less //ps查看进程信息并通过less分页显示
  • #history | less //查看操作命令的历史记录
  • #less -m index.html //显示内容,并显示百分比

tail

tail:打印每个文件的最后10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

语法

#tail [参数]

参数

  • -c:输出文件尾部N(N为整数)个字节内容。
  • -f :持续监测文件最新追加的内容。
  • -n:输出文件最后N(N为整数)行内容。
  • -s<秒数>:与-f连用,监视文件变化的间隔时间。
  • -q:当有多个文件时,不输出文件名。
  • 示例

  • #tail catalina.out //默认输出文件最后10行。
  • #tail -c20 catalina.out //输出文件最后20个字节。
  • #tail -f catalina.out //持续跟踪文件追加内容,默认输出最后10行。
  • #tail -n5 catalina.out //输出文件最后5行。
  • #tail -fn2 catalina.out //持续踪文件追加内容,输出最后2行,此命令非常适用于查看日志文件的实时更新

head:显示文件开头的内容。默认显示头10行。

语法

head [参数]

参数

  • -n:显示文件头部N(N为整数)行内容。
  • -c:显示头部内容的N(N为整数)个字符数。(中文乱码)
  • -v:显示文件名。
  • -q:不显示文件名信息。

示例

  • #head -n2 catalina.out //显示文件头两行内容
  • #head -c2 catalina.out //显示文件头两个字符

od

od:查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。默认显示八进制。

语法

od [参数] filename

参数

  • -c:以ASCII字符或反斜杠序列输出。
  • -o:以八进制(系统默认值)。
  • -d:以有符号十进制输出。
  • -u:无符号十进制输出。
  • -x:以十六进制输出。
  • -f:以符点数输出。

示例

  • #od -c xx.txt //以ACSII码显示字符,注意末尾的换行符。

hexdump

hexdump命令一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。

语法

#hexdump [参数] filename

参数

  • -n:length 只格式化输入文件的前length个字节。
  • -C:输出规范的十六进制和ASCII码。
  • -b:单字节八进制显示。
  • -c:单字节字符显示。
  • -d:双字节十进制显示。
  • -o:双字节八进制显示。
  • -x:双字节十六进制显示。
  • -s:从偏移量开始输出。
  • -e:指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:’a/b “format1” “format2”‘。

sed

sed命令的特殊使用:
sed -n '5,10p' catalina.out//只查看文件5到10行的内容
SED 简明教程

Linux命令(一):cat,more,less,tail查看文件内容命令详解

http://blog.gxitsky.com/2017/12/29/Linux-Command-1-cat-tail-less-more/

作者

光星

发布于

2017-12-29

更新于

2022-06-17

许可协议

评论