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
#/bin/bash
echo hello
echo world
#/bin/bash
echo hello
echo world[root@LAMP test]#

删除额外的空白行

[root@LAMP test]# cat -n demo_cat3.sh
#/bin/bash
echo hello echo world
[root@LAMP test]# cat -n -s demo_cat3.sh
#/bin/bash
echo hello 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*****
[] Start
[] Shutdown
[] Restart
[] Exit
EOF

运行结果:

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

Linux命令之乐--cat的更多相关文章

  1. 每天一个linux命令:cat(10)

    cat cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 注意:当文件较大时,文本在屏幕上迅速 ...

  2. linux 命令——文件管理 cat

    一.介绍 cat 是一个文本文件查看和连接工具.从第一个字节开始正向查看文件的内容. 主要有三大功能: 1.一次显示整个文件.$ cat   filename ~,y6;e2.从键盘创建一个文件.$ ...

  3. linux命令之cat

    转自:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容, ...

  4. 每天一个linux命令(10):cat

    1.命令简介 cat (concatenate,连接)命令将[文件]或标准输入组合输出到标准输出,如果没有指定文件,或者文件为"-",则从标准输入读取. 2.用法 cat [选项] ...

  5. 2018/03/07 每日一个Linux命令 之 cat

    每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...

  6. 每天一个linux命令:cat 命令

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

  7. linux 命令——10 cat (转)

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

  8. Linux命令学习-cat命令

    Linux中,cat命令的全称是concatenate,主要用于显示文件内容. 查看centos系统版本 cat /etc/centos-release 查看文件 gogs.log 的内容 cat g ...

  9. 全网最详细的Linux命令系列-cat命令

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

随机推荐

  1. Android访问php webservice

    如果是PHP做的服务端,而我们要用android去访问,怎么办?当然可以用REST,但也可以用点笨的方法,比如可以让PHP的服务端返回JSON或XML数据,而Android端则可以用APACHE的ht ...

  2. [翻译] C# 8.0 新特性 Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南) 【由浅至深】redis 实现发布订阅的几种方式 .NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐

    [翻译] C# 8.0 新特性 2018-11-13 17:04 by Rwing, 1179 阅读, 24 评论, 收藏, 编辑 原文: Building C# 8.0[译注:原文主标题如此,但内容 ...

  3. 关于分部视图(Partial View)

    一.关于分部视图(Partial View) Partial View是可以应用在View中的,编写一次,在其他View中可以被反复使用.通常都是放在"Views——Shared" ...

  4. Django模版中的过滤器详细解析 Django filter大全

    就象本章前面提到的一样,模板过滤器是在变量被显示前修改它的值的一个简单方法. 过滤器看起来是这样的: {{ name|lower }} 显示的内容是变量 {{ name }} 被过滤器 lower 处 ...

  5. C while循环的自增和自减

    自增和自减 --i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值.i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作. 实例一: #include &qu ...

  6. Redis C#入门

    redis-cli.exe 为客户端 redis-server.exe 为服务端 进行操作都是在客户端上操作,先随便添加一组 key value试一下: 再输入Get "键"名称, ...

  7. lo4j 日志级别

    日志记录器(Logger)的行为是分等级的.如下表所示: 分为OFF.FATAL.ERROR.WARN.INFO.DEBUG.TRACE.ALL或者您定义的级别.Log4j建议只使用四个级别,优先级从 ...

  8. python 加密方法总结

    MD5 def md5(str): import hashlib m = hashlib.md5() m.update(str) return m.hexdigest() base64 import ...

  9. eclipse配置xml的自动提示

    如mybatis的mapper配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  10. [C++]怎么将.h和.cpp文件分别放在不同的目录

    相关资料: http://blog.csdn.net/onafioo/article/details/8775501 具体操作: 1.找到.h文件目录.2.将所以的.h文件剪切到“include”目录 ...