首页 > 代码库 > Linux基础文本查看命令之 cat,tac,more,less,head,tail

Linux基础文本查看命令之 cat,tac,more,less,head,tail

在使用linux的过程中多多少少都会涉及到文本的操作,因此掌握一些文本操作的工具命令能大大的提高我们的工作效率。

cat命令

cat命令的用途是链接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者是从标准输入读取内容并显示,它常与重定向符号配合使用。

1)命令格式

    cat    [选项]    [FILENAME]

2)命令功能

    将文件或标准输入组合输出到标准输出。

3)命令参数

    -E:在每行结束处显示 $

    -n:对输出的所有行编号

    -s:不输出多行空行

4)常用范例

[root@localhost txt]# cat a.txt                 #正常输出
1111111111


2222222222

3333333333
[root@localhost txt]# cat -n a.txt              #输出行号
     1	1111111111
     2	
     3	
     4	2222222222
     5	
     6	3333333333
[root@localhost txt]# cat -E a.txt              #在每行的结束输出$ 
1111111111$
$
$
2222222222$
$
3333333333$
[root@localhost txt]# cat -s a.txt              #超过两个空行自动合并成一行输出
1111111111

2222222222

3333333333

tac命令

tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来。

more命令

功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载了整个文件。

1)命令格式

    more    [参数]    [FILENAME]

2)命令功能

    more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

3)命令参数

    +n:从第n行开始显示

    -s:把连续的多个空行显示为一行

4)常用操作命令

    Enter:向下n行,需要定义 。默认1行

    空格键:向下滚动一屏

    b:向上滚动一屏

    =:输出当前行的行号

    :f:输出文件名和当前行的行号

    v:调用vi编辑器

    q:退出more

less命令

less工具也是对文件或其他输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能及其强大。less的用法比起more更加有弹性。less里头也拥有很多的搜索功能,不止可以向下搜,也可以向上搜。

1)命令格式

    less [参数]    FILENAME

2)命令功能

    less与more类似,使用less可以随意浏览文件,且less在查看之前不会加载整个文件。

3)命令参数

    -e:在文件显示结束后,自动离开

    -f:强制打开特殊文件,例如外围设备代号,目录和二进制文件

    -i:忽略搜索时的大小写

    -m:显示类似more命令的百分比

    -N:显示每行的行号

    -s:显示连续的空行为一行

4)常用操作命令

    b:向后翻一页

    d:向后翻半页

    h:显示帮助界面

    q:退出less 

    u:向前滚动半页

    y:向前滚动一行

    空格键:滚动一行

    回车键:滚动一页

1.向后搜索

    /KEYWORD:向后搜素与KEYWORD相匹配的的文本

    n:向前查找下一个匹配的文本

    N:向后查找前一个匹配的文本

2.向前搜索

    /KEYWORD:向后搜素与KEYWORD相匹配的的文本

    n:向前查找下一个匹配的文本

    N:向后查找前一个匹配的文本

5)常用范例

例一:查看文件并且搜索内容为“init”的文本

[root@localhost txt]# less /etc/inittab

wKioL1PgimnSq_MCAALqBDJZasM844.jpg

wKioL1PgioLSkpMxAAMHyJq1M5s049.jpg

例二:当文件数目过于庞大无法一屏显示结束通过less分页显示

[root@localhost etc]# ls -l /etc/ | less

wKioL1Pgi33BHgyYAASuyS2U68g241.jpg

head命令

用来显示开头某个数量的文字区块,head用来显示档案的开头至标准输出中。

1)命令格式 

    head    [参数]    [FILENAME]

2)命令功能

    head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

3)命令参数

    -n<行数>:显示的行数

    -c<字节数>:显示的字节数

4)常用范例

    例一:显示文件的前5行

[root@localhost etc]# head -n 5 /etc/inittab 
#
# inittab       This file describes how the INIT process should set up
#               the system in a certain run-level.
#
# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>

tail命令

从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 


1)命令格式

    tail    [参数]    [FILENAME] 

2)命令功能

    用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用来查看日志文件。

3)命令参数   

    -n<行数>:显示的行数

    -c<字节数>:显示的字节数

    -f:查看文件尾部,不退出,等待显示后续追加至此文件的内容

4)常用范例

    例一 查看文件后续添加的内容

[root@localhost etc]# ping 192.168.80.1 > test.log &        #‘>‘表示将ping的输出作为文件t
estlog的输入    ‘&‘表示将这个任务送到后台去执行
[root@localhost etc]# tail -f test.log

wKiom1PgkJixF3pfAAP2eSI7E2A551.jpg

按ctrl+c可以终止,虽然已经停止显示了,但在后台ping命令仍在执行,可以 通过输入jobs查看后台的作业,我们可以通过输入fg命令将后台的作业调回前台,再次按下ctrl+c终止ping命令的执行

[root@localhost etc]# jobs
[1]+  Running                 ping 192.168.80.1 > test.log &
[root@localhost etc]# fg
ping 192.168.80.1 > test.log
[root@localhost etc]# jobs
[root@localhost etc]#

例二 显示某一文档倒数第5行的信息

[root@localhost etc]# tail -5 /etc/inittab | head -1    #先显示最后5行信息,再讲其内容的
第一行信息显示出来,即倒数第5行的信息




本文出自 “小僧” 博客,请务必保留此出处http://xseng.blog.51cto.com/2513398/1536025