Linux 中用户若对一个文件拥有 r (读)权限,便可查看该文件中的内容。常用的文件内容查看命令主要有一下几个:cat、tac、nl、more、less、head、tail,下面一一介绍。
1. cat
cat 这个命令的作用是将文件内容全部显示在屏幕上,并且是从第一行开始显示。
命令格式:cat [选项] 文件名
选项:
-n: 显示内容的同时打印出行号,并且空白行也会打印出行号
-b: 显示内容的同时打印出行号,但空白行不会打印出行号,仅针对非空白行做行号显示
-E: 将结尾的断行字符 $ 显示出来
-T: 将 Tab 键以 ^I 显示出来(可发现文件内容中空白的地方是 Tab 还是空格)
-v: 列出一些看不出来的字符
-A: 相当于 -vET 的组合选项,列出一些特殊字符而不是显示空白
例如:
可以看到 -n 和 -b 选项都会显示行号,但 -n 选项打印出空白行的行号,而 -b 选项没有打印出空白行的行号。
看到 -A 选项可以显示出结尾的 $ 和 ^I 等特殊字符。
2. tac
tac 命令是 cat 反向写的,它们的功能也相反,作用是将文件内容全部显示在屏幕上,但是是从最后一行开始反向显示。
命令格式:tac 文件名
例如:
3. nl
nl 命令的作用和 cat -n 类似,是将文件内容全部显示在屏幕上,并且是从第一行开始显示,同时会自动打印出行号。
命令格式:nl [-bnw] 文件名
选项:
-b: 指定行号列出的方式,主要有两种:
-b a: 表示会列出空白行的行号(类似与 cat -n)
-b t: 表示不列出空白行的行号(这个是 nl 命令的默认选项,类似于 cat -b)
-n: 指定行号表示的方法,主要有三种:
-n ln: 行号在自己字段的最左方(也是屏幕的最左方)显示
-n rn: 行号在自己字段的最右方显示,且前面不加 0(默认选项)
-n rz: 行号在自己字段的最右方显示,但前面加 0
-w <数字>: 指定行号字段的占用位数
例如:
4. more
more 命令对于比较长的内容不是全部显示到屏幕上,而是会一页一页的显示。
命令格式:more 文件名
分页显示的文件内容可以通过空格键向下翻页,b 向上翻页(不过向上翻页只对文件有用,而对管道符号的输出没用),用 Enter 键向下翻一行,q 即可退出,还有 :f 会立即显示出文件名及目前显示的行数。
例如:
5. less
与 more 类似,但在用 more 时候可能不能向上翻页,不能向上搜索指定字符串,而 less 却可以自由的向上向下翻页,也可以自由的向上向下搜索指定字符串。
命令格式:less 文件名
和 more 一样,可以通过空格键向下翻页,b 向上翻页(对文件和管道符号的输出都可以),用 Enter 键向下翻一行,q 退出。
此外 less 命令显示文件内容后还可以查找指定字符串,通过 /<字符串> 就可以在显示的内容中向下搜索<字符串>这个关键词,通过 ?<字符串> 可向上搜索指定字符串。同时,可以按下 n 和 N 配合 / 好 ? 使用,n 表示继续往同方向搜索一次,N 表示继续往反方向搜索一次。
例如:
点击此处输入图片描述
6. head
head 命令的作用是只看文件内容的前面几行。
命令格式:head [-n] <数字> 文件名 或 head -<数字> 文件名
<数字> 表示要显示的行数。
例如: 只查看前 10 行
7. tail
tail 命令与 head 相反,作用是只看文件内容结尾几行。命令格式也与 head 类似。
命令格式:tail [-n] <数字> 文件名 或 tail -<数字> 文件名
<数字> 表示要显示的行数。
例如:只查看结尾的 10 行
总结:
(1) cat、tac、nl 这三个命令都是将要显示的文件内容全部显示到屏幕上;
(2) more 和 less 是分页显示文件内容,同时 less 可以搜索指定字符串,head 和 tail ;
(3) head 和 less 是显示文件内容开头或结尾的几行。