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@ezdcc ~]# cat anaconda-ks.cfg#version=RHEL8ignoredisk --only-use=sdaautopart --type=lvm# Partition clearing information………………省略部分输出信息………………
查看某个文件的内容,并显示行号:
[root@ezdcc ~]# cat -n anaconda-ks.cfg 1#version=RHEL8 2ignoredisk --only-use=sda 3autopart --type=lvm 4# Partition clearing information 5clearpart --none --initlabel 6# Use graphical install………………省略部分输出信息………………
搭配空设备文件和输出重定向操作符,将某个文件内容清空:
[root@ezdcc ~]# cat /dev/null > anaconda-ks.cfg [root@ezdcc ~]# cat anaconda-ks.cfg [root@ezdcc ~]#
持续写入文件内容,直到碰到EOF符后才会结束并保存:
[root@ezdcc ~]# cat > anaconda-ks.cfg << EOF> Hello,World> Linux!~> EOF[root@ezdcc ~]# cat anaconda-ks.cfg Hello,WorldLinux!~
搭配输出重定向操作符,将光盘设备制作成镜像文件:
[root@ezdcc ~]# cat /dev/cdrom > rhel.iso[root@ezdcc ~]# ls rhel.iso -lh-rw-r--r--. 1 root root 6.7G May 2 00:43 rhel.iso[root@ezdcc ~]# 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