Linux中的cat命令我们通常用于连接文件或标准输入并打印,或者将几个文件拼接起来标准输入并打印,常常会与重定向符号配合使用。
- 命令格式
cat [option]... [file]...
- 命令功能
- 一次显示整个文件内容: cat filename
- 从键盘创建一个文件: cat > newfile ,只能创建新文件使用,不能编辑已有文件
- 将几个文件合并成一个文件: cat file1 file2 > file3
- 命令参数
-A或--show-all 等效于-vET
-b或--number-nonblank 对非空输出行进行编号
-e 等效于-vE
-E 在每行结尾显示$
-n或--number 对所有输出行进行编号
-s或--squeeze-blank 遇到两行以上的连续空行时,将这些空行变成一个空行
-t 等效于-vT
-u 被忽略
-v或--show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
实例:1.查看文件内容实例
[[email protected] ~]# cat ett.txt #查看ett.txt的全部内容 [[email protected] ~]# cat -b ett.txt #查看ett.txt内容,对非空行进行编号,从1开始 [[email protected] ~]# cat -n ett.txt #查看ett.txt内容,对所有行进行编号,从1开始 [[email protected] ~]# cat -E ett.txt #查看ett.txt内容,输出时在每行结尾添加一个$ [[email protected] ~]# cat ett.txt a.txt #同时查看ett.txt和a.txt的内容。 [[email protected] ~]# cat install.log install.log.syslog | more #查看大文件时通过管道符使用more可以进行分页显示。
2.创建、连接文件实例
[[email protected] ~]# cat > readme.txt hahahahjdwkjhashd linux oldboy #按ctrl+d退出保存 [[email protected] ~]# #################################### [[email protected] ~]# cat > readme.txt<< hahahahjdwkjhashd linux oldboy EOF [[email protected] ~]# #这两种是用一种效果,创建一个文件readme.txt,并写入内容,注意:如果readme.txt时已存在的文件,此处操作会把文件 #原有内容覆盖掉,是比较危险的,如果要对文件进行追加则应该使用cat >> readme.txt或cat>>readme.txt<<EOF
[[email protected] ~]# cat a.txt b.txt c.txt >d.txt #合并a、b、c文件的内容,输入到d.txt [[email protected] ~]# cat a.txt b.txt c.txt >> e.txt #合并a、b、c文件的内容,追加到e.txt
我们知道">"和">>"都是进行数据流重定向操作,但是>在操作时进行覆盖,>>是进行追加,实际操作中需要生成新文件">"和">>"都可以实现,但是仅进行追加时就只能使用">>",">"的使用要谨慎,如对已存在配置文件使用">"会将已有配置清空,如果没有备份就麻烦了。
时间: 2024-11-03 21:07:39