2015-08-06 创建
1、概述
可以连接文件并且实现标准输出【打印】、标准输入。也就是说可以多个文件共同打印
2、命令格式
cat [OPTION]... [FILE]...
3、常用命令参数
-A, --show-all 显示所有信息,等价于 -vET 组合参数
-b, --number-nonblank 打印文件信息,如果该行不为空白行那么在行首添加行号【如果该行有“空格”,那么也不算是空白行,行首会有行号显示】。
[oldboy@moban ~]$ cat -b uniq.txt
1 abcdef
2 aefweg
3 # 有空格
4 abcdef
5 AbCdEF
6 zxcvbnm
7 zxcvbnm
8 WeR1111
9 wer1111
10 qweVVdd
11 aaaVVdd
12 # 有制表符
13 abcQWE
14 abcqwe
-e 等价于 -vE 组合参数
-E, --show-ends 在每行的结尾显示 $
[oldboy@moban ~]$ cat -be uniq.txt
1 abcdef$
2 aefweg$
3 $
4 abcdef$
5 AbCdEF$
6 zxcvbnm$
7 zxcvbnm$
8 WeR1111$
$
9 wer1111$
10 qweVVdd$
11 aaaVVdd$
12 $
13 abcQWE$
14 abcqwe$
-n, --number 对所有输出行显示行号
[oldboy@moban ~]$ cat -n uniq.txt
1 abcdef
2 aefweg
3
4 abcdef
5 AbCdEF
6 zxcvbnm
7 zxcvbnm
8 WeR1111
9
10 wer1111
11 qweVVdd
12 aaaVVdd
13
14 abcQWE
15 abcqwe
-s, --squeeze-blank 不输出多个空白行
[oldboy@moban ~]$ cat cat.txt
qweqwe
qwe
qwe
etrwetewt
[oldboy@moban ~]$ cat -s cat.txt
qweqwe
qwe
qwe
etrwetewt
-t 等价于 -vT 组合参数
-T, --show-tabs 如果有制表符跳格字符【制表符】,那么显示为 ^I
[oldboy@moban ~]$ cat -T uniq.txt
WeR1111
wer1111
qweVVdd
aaaVVdd
^I #跳个字符【Tab键】
abcQWE
abcqwe
-v, --show-nonprinting 使用^ 和 M- 标记,除了 LFD 和 TAB 之外
4、常用示例
1、使用cat 追加内容到当前的 cat.txt 文件中
[oldboy@moban ~]$ cat cat.txt
qweqwe
etrwetewt
[oldboy@moban ~]$
[oldboy@moban ~]$
[oldboy@moban ~]$ cat >> ./cat.txt << EOF #EOF为结束标识
> 11111
> 2222
> 333
>
> 434235
> WERQ
> wer
> EOF
[oldboy@moban ~]$ cat cat.txt
qweqwe
etrwetewt
11111
2222
333
434235
WERQ
wer
2、cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中
[oldboy@moban ~]$ cat a.txt
1233456
zdsaeg
[oldboy@moban ~]$ cat b.txt
1234
[oldboy@moban ~]$ cat a.txt b.txt >> zz.txt
[oldboy@moban ~]$ cat zz.txt
1233456
zdsaeg
1234
特殊:tac
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
警告:
我们要知道>意思是创建,>>是追加。千万不要弄混了。造成失误可不是闹着玩的;
5、命令所在位置和类型
[oldboy@moban ~]$ which cat
/bin/cat
[oldboy@moban ~]$ type cat
cat is hashed (/bin/cat)