首页 > 代码库 > 查看文件内容的命令cat,tac,more,less,head,tail

查看文件内容的命令cat,tac,more,less,head,tail

cat命令

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

语法

cat (选项) (参数)

选项

-n或-number:有1开始对所有输出的行数编号;

-b或--number-nonblank:和-n相似,只不过对于空白行不编号;

-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;

-A:显示不可打印字符,行尾显示“$”;

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

参数

文件列表:指定要连接的文件列表。

实例

设ml和m2是当前目录下的两个文件

cat m1 (在屏幕上显示文件ml的内容)

cat m1 m2 (同时显示文件ml和m2的内容)

cat m1 m2 > file (将文件ml和m2合并后放入文件file中)

来自: http://man.linuxde.net/cat

tac命令

tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。

语法

tac (选项) (参数)

选项

-a或--append:将内容追加到文件的末尾;

-i或--ignore-interrupts:忽略中断信号。

参数

文件列表:指定要保存内容的文件列表。

来自: http://man.linuxde.net/tac

more命令

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:

按Space键:显示文本的下一屏内容。

按Enier键:只显示文本的下一行内容。

按斜线符/:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。

按H键:显示帮助屏,该屏上有相关的帮助信息。

按B键:显示上一屏内容。

按Q键:退出more命令。

语法

more (选项) (参数)

选项

-<数字>:指定每屏显示的行数;

-d:显示“[press space to continue,‘q‘ to quit.]”和“[Press ‘h‘ for instructions]”;

-c:不进行滚屏操作。每次刷新这个屏幕;

-s:将多个空行压缩成一行显示;

-u:禁止下划线;

+<数字>:从指定数字的行开始显示。

参数

文件:指定分页显示内容的文件。

实例

显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。

more -dc file

显示文件file的内容,每10行显示一次,而且在显示之前先清屏。

more -c -10 file

来自: http://man.linuxde.net/more

less命令

less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

语法

less (选项) (参数)

选项

-e:文件内容显示完毕后,自动退出;

-f:强制显示文件;

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;

-l:搜索时忽略大小写的差异;

-N:每一行行首显示行号;

-s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x<数字>:将TAB字符显示为指定个数的空格字符。

参数

文件:指定要分屏显示内容的文件。

来自: http://man.linuxde.net/less

head命令

head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

语法

head (选项) (参数)

选项

-n<数字>:指定显示头部内容的行数;

-c<字符数>:指定显示头部内容的字符数;

-v:总是显示文件名的头信息;

-q:不显示文件名的头信息。

参数

文件列表:指定显示头部内容的文件列表。

来自: http://man.linuxde.net/head

tail命令

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。 注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

语法

tail (选项) (参数)

选项

--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“--follow=name”连用; -c或--bytes=:输出文件尾部的N(N为整数)个字节内容;

-f或;--follow:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;

-F:与选项“-follow=name”和“--retry"连用时功能相同;

-n或--line=:输出文件的尾部N(N位数字)行内容。

--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;

-q或--quiet或--silent:当有多个文件参数时,不输出各个文件名;

-s<秒数>或--sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;

-v或--verbose:当有多个文件参数时,总是输出各个文件名;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

参数

文件列表:指定要显示尾部内容的文件列表。

实例

tail file (显示文件file的最后10行)

tail +20 file (显示文件file的内容,从第20行至文件末尾)

tail -c 10 file (显示文件file的最后10个字符)

来自: http://man.linuxde.net/tail

总结:

cat 查看文件内容(正行序)

tac 查看文件内容(逆行序)

cat -A 显示行尾的行结束符$

cp /etc/init.d/iptables 1.txt

cat 1.txt 全部显示,不支持翻屏,

more 1.txt 分屏显示

空格 按屏往下翻

回车 按行往下翻

Ctrl+b 按屏往上翻

Ctrl+f 按屏往下翻

less 1.txt 比more好,支持按行往上翻,功能更强

空格 按屏往下翻

回车 按行往下翻

上 按行往上翻

下 按行往下翻

PgUp 按屏往上翻

PgDn 按屏往下翻

j 按行往下翻

k 按行往上翻

Ctrl+b 按屏往上翻

Ctrl+f 按屏往下翻

g 转到文件头

G 转到文件尾

/string 向前查找字符串string,按n(next)往前找,N往后找

?string 向后查找字符串string,按n(next)往后找,N往前找

q 退出less

head 查看文件的前10行

head -2 1.txt 查看文件1.txt的前两行

tail 查看文件的后10行

tail -3 1.txt 查看文件1.txt的后3行

tail -f 1.txt 动态的查看1.txt结尾处的内容

比如在别的地方对1.txt追加内容:echo "111222" >>1.txt,就能动态显示追加的情况

Ctrl+c退出


查看文件内容的命令cat,tac,more,less,head,tail