码迷,mamicode.com
首页 > 系统相关 > 详细

Linux命令之乐--cat

时间:2016-08-23 01:12:25      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

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

命令参数:

-A, --show-all           等价于 -vET

-b, --number-nonblank    对非空输出行编号

-e                       等价于 -vE

-E, --show-ends          在每行结束处显示 $

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 

-t                       与 -vT 等价

-T, --show-tabs          将制表符显示为 ^I

-u                       (被忽略)

-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

使用实例:

打印多个文件,并加上行号

[root@LAMP test]# cat -n demo_cat1.sh demo_cat2.sh 
     1    #/bin/bash
     2        echo hello
     3    echo world
     4    #/bin/bash
     5        echo hello
     6    echo world[root@LAMP test]#

删除额外的空白行

[root@LAMP test]# cat -n demo_cat3.sh 
     1    #/bin/bash
     2    echo hello
     3    
     4    
     5    echo world
[root@LAMP test]# cat -n -s demo_cat3.sh 
     1    #/bin/bash
     2    echo hello
     3    
     4    echo world

将制表符显示成^I

[root@LAMP test]# cat -T demo_cat1.sh 
#/bin/bash
^Iecho hello
echo world

显示断行标志

[root@LAMP test]# cat -v demo_cat1.sh 
#/bin/bash
    echo hello
echo world
[root@LAMP test]# cat -v demo_cat2.sh 
#/bin/bash^M
    echo hello^M
echo world

其中demo_cat1.sh是在Linux下编辑的,而demo_cat2.sh是在windows下编辑的,可以看出两个操作系统的断行标志是不同的,这也是为什么很多脚本在windows下编辑下上传到Linux下报错的原因。

利用cat -A更加清晰的看出两者的不同,DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的。

[root@LAMP test]# cat -A demo_cat1.sh 
#/bin/bash$
^Iecho hello$
echo world$
[root@LAMP test]# cat -A demo_cat2.sh 
#/bin/bash^M$
^Iecho hello^M$
echo world[root@LAMP test]#

 

拓展:

cat命令还可以接受标准输入,并打印到屏幕

[root@LAMP test]# cat <<EOF
> hello
> world
> EOF
hello
world

或者将标准输入重定向到一个文件中

[root@LAMP test]# cat >demo.txt <<EOF
> hello
> linux
> EOF
[root@LAMP test]# cat demo.txt 
hello
linux

在脚本中的应用:

[root@LAMP test]# vim demo_cat.sh 

#/bin/bash
cat <<EOF
                ****Main Menu*****
                 [1] Start
                 [2] Shutdown
                 [3] Restart
                 [4] Exit
EOF

运行结果:

[root@LAMP test]# sh demo_cat.sh 
        ****Main Menu*****
         [1] Start
         [2] Shutdown
         [3] Restart
         [4] Exit

 

Linux命令之乐--cat

标签:

原文地址:http://www.cnblogs.com/zydev/p/5797660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!