cat命令来自于英文单词concatenate的缩写,其功能是用于查看文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head……等等,每个命令都有各自的特点。cat命令适合查看内容较少的、纯文本的文件。

对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+c键中断命令的执行,所以对于大文件,干脆用more命令吧~

语法格式:cat [参数] 文件

常用参数:

-n 显示行数(空行也编号)
-s显示行数(多个空行算一个编号)
-b 显示行数(空行不编号)
-E每行结束处显示$符号
-T将TAB字符显示为 ^I符号
-v 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
-e等价于”-vE”组合
-t
等价于”-vT”组合
-A等价于 -vET组合
--help 显示帮助信息
--version 显示版本信息

参考实例

查看某个文件的内容:

[root@linuxcool ~]# cat anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
………………省略部分输出信息………………

查看某个文件的内容,并显示行号:

[root@linuxcool ~]# cat -n anaconda-ks.cfg
     1	#version=RHEL8
     2	ignoredisk --only-use=sda
     3	autopart --type=lvm
     4	# Partition clearing information
     5	clearpart --none --initlabel
     6	# Use graphical install
………………省略部分输出信息………………

搭配空设备文件和输出重定向操作符,将某个文件内容清空:

[root@linuxcool ~]# cat /dev/null > anaconda-ks.cfg 
[root@linuxcool ~]# cat anaconda-ks.cfg 
[root@linuxcool ~]# 

持续写入文件内容,直到碰到EOF符后才会结束并保存:

[root@linuxcool ~]# cat > anaconda-ks.cfg << EOF
> Hello,World
> Linux!~
> EOF
[root@linuxcool ~]# cat anaconda-ks.cfg 
Hello,World
Linux!~

搭配输出重定向操作符,将光盘设备制作成镜像文件:

[root@linuxcool ~]# cat /dev/cdrom > rhel.iso
[root@linuxcool ~]# ls rhel.iso  -lh
-rw-r--r--. 1 root root 6.7G May  2 00:43 rhel.iso
[root@linuxcool ~]# file rhel.iso 
rhel.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23128, 19888 sectors
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表评论

您的电子邮箱地址不会被公开。