您的位置:首页 > 运维架构 > Linux

Linux显示文本的命令(cat, tac,more,less,head,tail,nl)

2014-08-29 00:10 946 查看
分类: LINUX

有许多命令都可以查看文件,不同的命令有不同的优点,可以针对不同的需要分别选择命令以提高效率:

cat 由第一行开始显示内容,并将所有内容输出

tac 从最后一行倒序显示内容,并将所有内容输出

more 根据窗口大小,一页一页的现实文件内容

less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符

head 只显示头几行

tail 只显示最后几行

nl 类似于cat -n,显示时输出行号

我使用最多的是more和less!

1.cat 与 tac

cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。

cat语法:cat [-n] 文件名

参数说明:-n : 显示时,连行号一起输出

例如:

[root@redhat ~]# cat .bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

加入-n参数

[root@redhat ~]# cat -n .bashrc

1 # .bashrc

2

3 # User specific aliases and functions

4

5 alias rm='rm -i'

6 alias cp='cp -i'

7 alias mv='mv -i'

8

9 # Source global definitions

10 if [ -f /etc/bashrc ]; then

11 . /etc/bashrc

12 fi

tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。

tac语法:tac 文件名

例如:

[root@redhat ~]# tac .bashrc

fi

. /etc/bashrc

if [ -f /etc/bashrc ]; then

# Source global definitions

alias mv='mv -i'

alias cp='cp -i'

alias rm='rm -i'

# User specific aliases and functions

# .bashrc

发现没有,和cat输出的比较,完全是倒过来的。这个命令也不常用。

2.more和less(推荐使用)

相对于cat和tac来说,more和less很好用。

more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。

当一页无法全部输出时,可以用“回车键”向下翻3行(我的环境是3行,其他linux版本可能不同),或者使用“空格键”向下翻页。

退出查看页面,请按“q”键。

另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more

more的语法:

more 文件名

less的功能和more相似,但是使用more无法向前翻页,只能向后翻。

less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。

less的语法:

less 文件名

less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:

[root@redhat etc]# less passwd

然后输入:

/weblogic

回车

此时如果有weblogic字符串,linux会把该字符已高亮方式显示。

退出查看页面,请按“q”键。

3.head和tail

head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。

head的功能是显示文件的前几行内容

head的语法:

head 【-n number】 文件名

例如:

[root@redhat etc]# head -n 5 passwd --只显示5行内容

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

tail的功能恰好和head相反,只显示最后几行内容

tail的语法:

tail [-n number] 文件名

例如:

[root@redhat etc]# tail -n 10 passwd --只显示最后5行

userb:x:503:504::/home/userb:/bin/bash

userc:x:504:502::/home/userc:/bin/bash

zgz:x:505:505::/home/zgz:/bin/bash

myy:x:506:505::/home/myy:/bin/bash

weblogic:x:507:508::/home/weblogic:/bin/bash

4.nl

nl的功能和cat -n一样,同样是从第一行输出全部内容,并且把行号显示出来

nl的语法:

nl 文件名

例如:

[root@redhat etc]# nl ~/.bashrc

1 # .bashrc

2 # User specific aliases and functions

3 alias rm='rm -i'

4 alias cp='cp -i'

5 alias mv='mv -i'

6 # Source global definitions

7 if [ -f /etc/bashrc ]; then

8 . /etc/bashrc

9 fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: