概述
本文章汇总我在学习和工作中用到或者学到的在Linux环境中查看文本的命令。
cat命令
简介:
由第一行开始显示内容,并将所有内容输出。cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。
语法格式:
cat [-AbeEnstTuv] [--help] [--version] fileName
参数说明:
-n 或 --number:由1开始对所有输出的行数编号。
-b 或 --number-nonblank:和-n相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A 或 --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
实例:
- 把file1的文档内容加上行号(不加-n就不加行号)后输入file2这个文档里
cat -n file1 > file2
- 把file1和file2的文档内容除空白行加上行号(不加-b就没有这个效果)之后将内容附加到file3文档里:
cat -b file1 file2 >> file3
- 清空当前目录下test.txt文档
cat ./null > ./test.txt
tac命令
简介:
tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。
语法格式:
tac [-brs] fileName
参数说明:
-b 或 --before:在行前而非行尾添加分隔标志
-r 或 --regex:将分隔标志视作正则表达式来解析
-s 或 --separator=字符串:使用指定字符串代替换行作为分隔标志
--help:显示此帮助信息并退出
--version:显示版本信息并退出
head命令
简介:
head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
语法格式:
head [parameter] [fileName]
参数列表:
-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数
-n<行数> 显示的行数
实例:
- 显示 notes.log 文件的开头 5 行,请输入以下命令
head -n 5 testFileName.log
- 显示文件前 20 个字节
head -c 20 testFileName.log
- 要显示 runoob_notes.log 文件的开头 10 行,请输入以下命令
head testFileName.log
tail命令
语法格式:
tail [parameter] [fileName]
默认显示后10行。
参数说明:
-[行数]f:循环读取,常用语动态查看日志
-q:不显示处理信息
-v:显示详细的处理信息
-c <数目>:显示的字节数
-n <行数>:显示文件的尾部 n 行内容
--pid=PID:与-f合用,表示在进程ID,PID死掉之后结束
-q 或 --quiet 或 --silent:从不输出给出文件名的首部
-s 或 --sleep-interval=S:与-f合用,表示在每次反复的间隔休眠S秒
实例:
- 动态显示后100行日志
tail -100f spring.log
- 查看从第10行到末尾的内容
tail -n +10 spring.log
- 显示最后20个字符
tail -c 20 spring.log
more命令
简介:
more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻n行(一般环境是n=3,其他linux版本可能不同),或者使用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more
语法格式:
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数列表:
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
键盘指令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
Space 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
less命令
简介:
less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less的用法比起more更加的有弹性。在more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了less时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法格式:
less [parameter] fileName
参数列表:
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
键盘指令:
/string 向下搜索"string"的功能
?string 向上搜索"string"的功能
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
Space 滚动一页
Enter 滚动一行
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
实例:
- ps查看进程信息并通过less分页显示
ps -ef |less
- 查看命令历史使用记录并通过less分页显示
history | less
- 浏览多个文件
less testFileName.log testFileName.log
nl命令
简介:
nl命令在Linux系统中用来计算文件的行号,是number of lines的缩写。nl可以将输出的文件自动加上行号!其默认的结果与cat -n有点不太一样,nl可以自定义行号显示效果,包括位数和自动补全0。
语法格式:
nl [parameter] fileName
参数列表:
-b 指定行号指定的方式,主要有两种:
-b a 表示不论是否为空行,也同样列出行号(类似 cat -n)
-b t 如果有空行,空的那一行不要列出行号(默认值)
-n 列出行号表示的方法,主要有三种:
-n ln 行号在萤幕的最左方显示
-n rn 行号在自己栏位的最右方显示,且不加 0
-n rz 行号在自己栏位的最右方显示,且加 0
-w 行号栏位的占用的位数。
-p 在逻辑定界符处不重新开始计算。
最新更新 2021 07 19