cat命令详解_【系列】每天一个linux命令(10):cat 命令

关注我,你的眼睛会怀孕

880bfba6480a9fd7f9604ccc8148072e.png
cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。  1.命令格式: cat [选项] [文件]... 2.命令功能: cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件:cat file1 file2 > file 3.命令参数: -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 之外 4.使用实例: 实例一:把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里 命令: cat -n log2012.log log2013.log  输出:
[root@localhost test]# cat log2012.log 
2012-01
2012-02
======[root@localhost test]# cat log2013.log 
2013-01
2013-02
2013-03
======[root@localhost test]# cat -n log2012.log log2013.log 
         1  2012-01
         2  2012-02
         3
         4
         5  ======
         6  2013-01
         7  2013-02
         8
         9
        10  2013-03
        11  ======[root@localhost test]#
说明:实例二:把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。 
命令:
cat -b log2012.log log2013.log log.log
输出:
[root@localhost test]# cat -b log2012.log log2013.log log.log
     1  2012-01
     2  2012-02
     3  ======
     4  2013-01
     5  2013-02
     6  2013-03
     7  ======[root@localhost test]#
实例三:把 log2012.log 的文件内容加上行号后输入 log.log 这个文件里 
命令:
输出:
[root@localhost test]# cat log.log 
[root@localhost test]# cat -n log2012.log > log.log
[root@localhost test]# cat -n log.log   1  2012-01
     2  2012-02
     3
     4
     5  ======
[root@localhost test]#
实例四:使用here doc来生成文件
输出:
[root@localhost test]# cat >log.txt <> Hello
> World
> Linux
> PWD=$(pwd)
> EOF[root@localhost test]# ls -l log.txt 
-rw-r--r-- 1 root root 37 10-28 17:07 log.txt
[root@localhost test]# cat log.txt 
Hello
World
Linux
PWD=/opt/soft/test
[root@localhost test]#
说明:
注意粗体部分,here doc可以进行字符串替换。
备注:
tac (反向列示)
命令:
tac log.txt
输出:
[root@localhost test]# tac log.txt 
PWD=/opt/soft/test
Linux
World
Hello
说明:
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

五、用cat命令显示文本文件

cat将操作对象显示在标准输出,在没有重定向的情况下,就是显示在屏幕上。在操作对象是多个文件的情况下,就把这些文件按给出的顺序合并在一起显示。 显然,如果操作对象是文本文件,我们会看到文件以可读的方式显示在屏幕上。 如果不是文本文件,我们会在屏幕上看到乱码,这样做没有意义。 cat命令适合显示短的文本文件。因为文件太大时,前面的内容就滚出屏幕,看不到了。 显示文本文件,我们现在就有两个命令:less和cat。除了它们外,vi也可以显示文本文件,它是用来编辑文本文件的,因此,显示文件是小菜一碟。 这三个命令用来显示文本文件时,less和vi都可以来回滚动,不存在看不见全部内容的问题。

六、用cat合并文件

执行cat时使用输出重定向,可以把多个文件按指定顺序合并成一个文件,这是一个很有用的功能。 例如:cat text1.txt text2.txt>text.txt 就将text1.txt和text2.txt合并成一个文件text.txt。 其合并不仅限于文本文件,可以是任何类型的文件。假设我们下载了一个很大的文件,它已被拆分为多个部分(Usenet上的多媒体文件经常采用拆分这种方式),现在我们想要把各部分连接在一起,并还原 为原来的文件。如果这些文件命名为: movie.mpeg.001   movie.mpeg.002 ... movie.mpeg.099 我们使用命令: cat movie.mpeg.0*>movie.mpeg 就将这些文件连接成一个文件了。

七、用cat命令建立文本文件

使用cat命令,如果不写任何选项和操作参数,则它变成了一个输入器,光标停留在命令的下一行,我们在键盘上输入的字符,都会显示在屏幕上。当我们按回车时,输入的行会回显在屏幕上,看起来就显示了同样两行。这是因为,屏幕既是输入,又是输出,所以显示了同样的两行。 要结束输入,按ctrl+d。 如果我们将输出重定向到文本文件,就不会看到重复的显示,因为输出的信息到文件中去了。这样,我们就建立了一个文本文件。这是建立文本文件的一种方法。 例如:cat >my.txt 我们在键盘上输入的内容,就到my.txt去了。这些内容,可以在屏幕上看到。 按ctrl+d,结束输入。

四、cat与输入重定向

在cat命令中使用输入重定向,可以将文本文件的内容显示在屏幕上,例如: cat 注意输入重定向的符号,它是一个小于号,与输出重定向符号刚刚相反。 cat本来是接受键盘输入的,但输入重定向符号使它接受文本文件的输入。 这是又一种显示文本文件的方法。 系列文章: 【系列】每天一个Linux命令(1):ls命令 【系列】每天一个Linux命令(2):cd命令 【系列】每天一个Linux命令(3):pwd命令 【系列】每天一个 Linux 命令(4):mkdir 【系列】每天一个 Linux 命令(5):rm 命令 【系列】每天一个 Linux 命令(6):rmdir 命令 【系列】每天一个 Linux 命令(7):mv命令 【系列】每天一个 Linux 命令(8):cp 命 【系列】每天一个linux命令(9):touch 命令 1

end

来源:peida 链接:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html 年度热文 8cdf095c757975876554db4a261a3e65.png 【收藏】运维必备的问题定位工具及案例分析 【收藏】超全Redis面试题,开发、运维必备! 【技术】摸鱼也要有技巧,这3个命令让你看起来很忙 【干货】Telnet的命令使用方法及常见问题 【收藏】快速排查无线AP故障的十种方法 【干货】超全!华为交换机端口vlan详解~ 【收藏】最常见的10个网络故障,你一定遇到过    新网工为什么要学虚拟化? 【工具】6款免费网络延迟测试工具,放心大胆用! 【必看】你离IT大佬还差11个认证 【收藏】华为5700系列交换机常用配置示例 【科普】为什么ip地址通常以192.168开头? 【干货】图文并茂磁盘阵列RAID详解 【教程】手把手zabbix安装教程

4c3b86097f6770943f741fc784ba3934.png

系统集成/认证培训

买设备,找我们

IT维保,找我们

IT培训,找我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值