linux操作系统cat命令(linux中cat命令详解)

来源:网络技术联盟站 

链接:https://www.wljslmz.cn/20133.html

作为经常使用Linux的朋友,相信对cat命令不陌生,主要用于显示文件的内容,cat提供了许多其他小而有用的功能,本文将给大家介绍一下cat命令使用。

在开始之前,我们先来看下cat的手册页显示的内容:

man cat
linux操作系统cat命令(linux中cat命令详解)

1.查看文件内容

语法:

$ cat [filename]

例如:

cat wljlsmz-cat-test

输出:

linux操作系统cat命令(linux中cat命令详解)

2.查看多个文件内容

有时候查看的文件不止一个,那么可以使用一行命令去查看,只需要将文件名拼接在cat后即可:

$ cat [filename] [filename]

例如:

cat wljlsmz-cat-test1 wljlsmz-cat-test2

输出:

linux操作系统cat命令(linux中cat命令详解)

3.显示文件内容并显示行号

有时候在查看文件内容的时候,由于文件内容比较长,需要结合行号的,可以使用-n参数:

cat -n wljlsmz-cat-test

例如:

cat -n wljlsmz-cat-test

输出:

linux操作系统cat命令(linux中cat命令详解)

4.创建文件并且写入内容

一般来说,创建一个文件,并且填充一些信息,都是先通过touch命令创建一个空文件,然后使用vim命令输入相关内容,这些操作可以用cat命令一次性完成,cat命令支持创建文件并且写入内容:

$ cat > [filename]

例如:

cat > wljlsmz-cat-test

运行时,该命令要求您在终端上输入信息,完成后,按 CTRL+d 终止并保存。

linux操作系统cat命令(linux中cat命令详解)

CTRL+d后我们验证一下有没有创建完成:

linux操作系统cat命令(linux中cat命令详解)

5.文件间内容复制

文件间内容的复制也是出场率比较多的场景,使用cat命令也可以实现:

$ cat [要复制其内容的文件名] > [目标文件名]

例如:

cat hello > wljslmz
linux操作系统cat命令(linux中cat命令详解)

先来解释一下截图中操作步骤:

  • 创建hello、wljslmz文件,hello文件中的内容为hello,wljslmz的内容为wljslmz
  • 查看hello、wljslmz文件
  • 将hello文件复制到wljslmz文件
  • 查看wljslmz文件内容

最后可以看出hello文件的内容确实复制到了wljslmz文件。

可以看到 > 的效果是覆盖,想要不覆盖,可以使用>>:

linux操作系统cat命令(linux中cat命令详解)

效果就显而易见了。

6.突出行尾

突出行尾在日常工作中也是常用的,比如某个配置文件一行一行很长,需要突出每一行的行尾,这个时候能够再cat的时候突出行尾的话就非常棒了。

那么我们可以结合-E参数,这样在cat的时候就会自动在每个行尾加上美元符号$来区分。

$ cat -E [文件名]

例如:

cat -E wljslmz

输出:

linux操作系统cat命令(linux中cat命令详解)

7.去除重复空行

如果一个文件空白行比较多,但是内容干货比较少的情况,我们在cat的时候其实是不想关心这些空行,如果能够有办法去除这些重复的空白行就好了,那么参数-s就可以实现。

$ cat -s [文件名]

例如:

cat -s wljslmz

输出:

linux操作系统cat命令(linux中cat命令详解)

解释一下上述截图的步骤:

  • 使用cat命令创建了wljslmz文件,写入的内容中包含了重复的空行
  • 使用cat -s命令查看
  • 直接使用cat命令查看

可以显而易见的看出结合-s选项,重复的空行被去除了。

8.仅在非空行上显示行号

在上面我们介绍了使用-n参数打印行号,又介绍了使用-s可以去除重复的空行,那么对于重复空行的文件,怎么仅显示非空行的行号呢?

答案是结合-b-T参数:

cat -b -T [文件名]

例如:

cat -b -T wljslmz

输出:

linux操作系统cat命令(linux中cat命令详解)

总结

本文给大家主要介绍了cat命令的常规使用,主要有:

  • 查看文件内容
  • 查看多个文件内容
  • 显示文件内容并显示行号
  • 创建文件并且写入内容
  • 文件间内容复制
  • 突出行尾
  • 去除重复空行
  • 仅在非空行上显示行号

最后感谢您的阅读,如果本文对您有所帮助,可以收藏并转发给您的朋友,有任何问题欢迎在下方评论区与我讨论!

原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/34692.html

(0)
网络技术联盟站的头像网络技术联盟站
上一篇 2024年4月12日
下一篇 2024年4月12日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注