tac命令详解

   

基础命令学习目录首页

 

原文链接:http://blog.chinaunix.net/uid-128922-id-289974.html

有许多命令都可以查看文件,不同的命令有不同的优点,可以针对不同的需要分别选择命令以提高效率:
    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

 

posted @ 2018-09-01 15:27  马昌伟  阅读(1976)  评论(0编辑  收藏