现在的位置:首页  /  云计算培训 >云计算技术教程

cat命令详细教程

来源: 薪享宏福
发布时间: 2019年01月03日
分享到:
cat命令是linux下的一个文本输出命令,cat命令主要作用有4个:

1、创建文件
2、查看文件内容
3、文件合并
4、追加文件内容
 
 
语法:cat [-AbeEnstTuv] [--help] [--version] fileName
 
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
 
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
 
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
 
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
 
-E 或 --show-ends : 在每行结束处显示 $。
 
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
 
-A, --show-all:等价于 -vET。
 
-e:等价于"-vE"选项;
 
-t:等价于"-vT"选项;
 
接下来我们看具体教程
 
一、创建文件内容
 
假设我们现在在桌面想创建一个hongfu.txt的文档,可以直接输入命令
 
cat > hongfu.txt < CAT命令创建文件

说明:

1、该命令中 > 表示创建文件 ,hongfu.txt为文件名,<<EOF表示结束符号,此时不要纠结为什么它是结束符号,记住它就好了,就好比你为什么称呼你爸爸为爸爸而不是别的,纠结此类问题没有实质意义,很多新手都会钻牛角尖,这类牛角尖会很多,在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可以只需要知道EOF的含义就是“end of file”,代表结束就可以。,

2、在这里EOF在这里没有特殊的含义,你可以使用ABCD或ccc等可以把EOF替换成其他字符(不限定是大写,也不限定只能是3个字母),但是有一处是必须要一样的,就是开始的时候写的是什么,结束的时候就需要写什么,如下截图我们都是用abc
cat命令创建111.txt文档


我们看一下111.txt这个文档内容
111.txt文档内容
 
二、查看文件内容
 
使用命令 cat hongfu.txt 即可查看该文档,如果需要对文档内容进行编号,可以使用参数n,命令如下
 
cat -n hongfu.txt

先来看看hongfu.txt文档里面的内容
hongfu.txt文档内容
使用查看命令后截图内容
cat命令查看内容
如果文档里面有空行的情况下,不需要进行编号则可以使用参数b,小编已在文档里悄悄加了1个空行,在此进行截图,后续的不再截图,节约大家阅读时间,命令如下:

​cat -b hongfu.txt

在文档中添加空行
文档中添加空行

cat -b hongfu.txt

使用命令后截图,我们看到跳过空行进行编号
在文档中添加空行
 
如果当遇到有连续两行以上的空白行,就代换为一行的空白行,小编已在文档中自行添加3行空行,我们来看执行命令后的截图,命令如下:
cat -s hongfu.txt
在终端里我们可以看到只有一个空行,多余的空行已被隐藏
多余空行被隐藏
 
 
三、文件合并
 
假设我们现在有文件a.txt里面有内容我是123,b.txt文件里有内容我是456,那么怎么进行合并呢?命令如下:


cat a.txt > b.txt

操作截图
文件合并

然后小编去看a.txt文件,内容还是“我是123”,看b.txt文档的时候内容是“我是123”,而不是“我是456”了,也就是说使用该命令会导致b.txt文档里的内容会被覆盖,当然a.txt的内容顺利的覆盖到了b.txt文件中,假设没有b.txt这个文档会怎么样呢,在这个时候系统会自动创建b.txt文档然后写入,大家可以一试,如果有多个文件需要合并怎么写呢?命令如下:

cat a.txt b.txt c.txt > test.txt

四、追加文件

那么怎么才能不覆盖而是追加呢,用下面这个命令:

cat a.txt >> b.txt
文件a内容写入文件b

如果你只是想看看而已,并不需要真实覆盖怎么做呢?用以下命令:

cat a.txt  b.txt

那么你在终端上可以直接看到内容,如下截图
直接在终端看两个文档内容

如果你需要看内容的时候加上行号,那么用以下命令

cat -n a.txt b.txt


总结:
1、cat a.txt,查看a.txt文件的内容。
2、cat -n a.txt,查看a.txt文件的内容,并且由1开始对所有输出行进行编号。
3、cat -b a.txt,查看a.txt文件的内容,对空白行不编号。
4、cat -s a.txt,当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
5、cat a.txt b.txt,同时显示a.txt和b.txt文件内容,注意文件名之间以空格分隔
6、cat -n a.txt b.txt,同时以行数显示a.txt和b.txt文件内容,
7、cat a.txt > b.txt,对a.txt文件中内容写入到b.txt中,会覆盖b文件原来的内容,b文件不存在则创建。
8、cat a.txt>>b.txt,对a.txt文件内容追加到b.txt中去,不会覆盖原来的内容,文件不存在则创建它。

常用的内容给我们就分享到这里,其他的参数大家可以自行尝试学习