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
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/