前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 的 cat 命令居然有那么多门道,涨知识了!

Linux 的 cat 命令居然有那么多门道,涨知识了!

作者头像
网络技术联盟站
发布2023-03-09 18:40:38
6070
发布2023-03-09 18:40:38
举报

来源:网络技术联盟站 链接:https://www.wljslmz.cn/20133.html

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

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

代码语言:javascript
复制
man cat

1.查看文件内容

语法:

代码语言:javascript
复制
$ cat [filename]

例如:

代码语言:javascript
复制
cat wljlsmz-cat-test

输出:

2.查看多个文件内容

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

代码语言:javascript
复制
$ cat [filename] [filename]

例如:

代码语言:javascript
复制
cat wljlsmz-cat-test1 wljlsmz-cat-test2

输出:

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

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

代码语言:javascript
复制
cat -n wljlsmz-cat-test

例如:

代码语言:javascript
复制
cat -n wljlsmz-cat-test

输出:

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

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

代码语言:javascript
复制
$ cat > [filename]

例如:

代码语言:javascript
复制
cat > wljlsmz-cat-test

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

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

5.文件间内容复制

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

代码语言:javascript
复制
$ cat [要复制其内容的文件名] > [目标文件名]

例如:

代码语言:javascript
复制
cat hello > wljslmz

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

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

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

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

效果就显而易见了。

6.突出行尾

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

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

代码语言:javascript
复制
$ cat -E [文件名]

例如:

代码语言:javascript
复制
cat -E wljslmz

输出:

7.去除重复空行

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

代码语言:javascript
复制
$ cat -s [文件名]

例如:

代码语言:javascript
复制
cat -s wljslmz

输出:

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

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

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

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

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

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

代码语言:javascript
复制
cat -b -T [文件名]

例如:

代码语言:javascript
复制
cat -b -T wljslmz

输出:

总结

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

  • 查看文件内容
  • 查看多个文件内容
  • 显示文件内容并显示行号
  • 创建文件并且写入内容
  • 文件间内容复制
  • 突出行尾
  • 去除重复空行
  • 仅在非空行上显示行号
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.查看文件内容
  • 2.查看多个文件内容
  • 3.显示文件内容并显示行号
  • 4.创建文件并且写入内容
  • 5.文件间内容复制
  • 6.突出行尾
  • 7.去除重复空行
  • 8.仅在非空行上显示行号
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档