来源:网络技术联盟站 链接:https://www.wljslmz.cn/20133.html
作为经常使用Linux的朋友,相信对cat命令不陌生,主要用于显示文件的内容,cat提供了许多其他小而有用的功能,本文将给大家介绍一下cat命令使用。
在开始之前,我们先来看下cat的手册页显示的内容:
man cat
语法:
$ cat [filename]
例如:
cat wljlsmz-cat-test
输出:
有时候查看的文件不止一个,那么可以使用一行命令去查看,只需要将文件名拼接在cat后即可:
$ cat [filename] [filename]
例如:
cat wljlsmz-cat-test1 wljlsmz-cat-test2
输出:
有时候在查看文件内容的时候,由于文件内容比较长,需要结合行号的,可以使用-n
参数:
cat -n wljlsmz-cat-test
例如:
cat -n wljlsmz-cat-test
输出:
一般来说,创建一个文件,并且填充一些信息,都是先通过touch命令创建一个空文件,然后使用vim命令输入相关内容,这些操作可以用cat命令一次性完成,cat命令支持创建文件并且写入内容:
$ cat > [filename]
例如:
cat > wljlsmz-cat-test
运行时,该命令要求您在终端上输入信息,完成后,按 CTRL+d 终止并保存。
CTRL+d后我们验证一下有没有创建完成:
文件间内容的复制也是出场率比较多的场景,使用cat命令也可以实现:
$ cat [要复制其内容的文件名] > [目标文件名]
例如:
cat hello > wljslmz
先来解释一下截图中操作步骤:
最后可以看出hello文件的内容确实复制到了wljslmz文件。
可以看到 > 的效果是覆盖,想要不覆盖,可以使用>>:
效果就显而易见了。
突出行尾在日常工作中也是常用的,比如某个配置文件一行一行很长,需要突出每一行的行尾,这个时候能够再cat的时候突出行尾的话就非常棒了。
那么我们可以结合-E
参数,这样在cat的时候就会自动在每个行尾加上美元符号$来区分。
$ cat -E [文件名]
例如:
cat -E wljslmz
输出:
如果一个文件空白行比较多,但是内容干货比较少的情况,我们在cat的时候其实是不想关心这些空行,如果能够有办法去除这些重复的空白行就好了,那么参数-s
就可以实现。
$ cat -s [文件名]
例如:
cat -s wljslmz
输出:
解释一下上述截图的步骤:
cat -s
命令查看cat
命令查看可以显而易见的看出结合-s
选项,重复的空行被去除了。
在上面我们介绍了使用-n
参数打印行号,又介绍了使用-s
可以去除重复的空行,那么对于重复空行的文件,怎么仅显示非空行的行号呢?
答案是结合-b
和-T
参数:
cat -b -T [文件名]
例如:
cat -b -T wljslmz
输出:
本文给大家主要介绍了cat命令的常规使用,主要有: