【043】Linux 的 cat 命令各种用法

【043】Linux 的 cat 命令各种用法除了用cat查看文件外,还可以用cat生成文件、清空文件、覆盖文件和在文件尾部添加新的内容。同时写了,在用cat命令向文件写入内容的时候,对于$符号如何处理。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、最简单的用法。只查看文件内容:

:~# cat a.txt
aaaaaaaaa
bbbbbbbbccc
ddd
ccee
ee
root@abb:~#

Jetbrains全家桶1年46,售后保障稳定

二、查找文件中的内容

:~# cat a.txt | grep cc
bbbbbbbbccc
ccee

三、利用cat创建文件

如果原来没有 b.txt 文件。那么:

:~# cat >b.txt <<EOF
> EOF

输入第一行后,输入EOF,回车,就可以生成一个 b.txt 文件。其中EOF是告诉 bash 哪个符号代表文件结束。当然你也可以使用自己习惯的符号。

四、利用cat清空文件内容

如果 c.txt 文件有很多内容,而你想要清空的话,同样可以使用上面提到的命令形式:

:~# cat >c.txt <<EOF
> EOF

五、利用cat向文件中写入内容,并覆盖以前的内容。
下面代码的步骤是这样的:先查看到 c.txt 没有内容,就向 c.txt 文件里写入内容,然后又写入新内容覆盖掉。

:~# cat c.txt
:~# cat >c.txt <<EOF
> 1111111
> 2222222
> EOF
:~# cat c.txt
1111111
2222222
:~# cat >c.txt <<EOF
> 33333333
> EOF
:~# cat c.txt
33333333
:~#

六、用 cat 命令向文件中写入内容的时候,对于 $ 符号的处理。

有些时候可能会利用cat命令生成一些 Shell 脚本文件。这个时候如果直接写 $ 符号,有可能被认为是调用变量,导致无法写入文件。
比如像下面一样直接输入 $ 的话:

:~# cat >d.sh <<EOF
> DATE=$(date +%Y%m%d)
> mkdir /root/$DATE
> EOF


那么 $ 符号并没有输入到文件中。文件内容会变成如下的样子

:~# cat d.sh
DATE=20161006
mkdir /root/

那么如果我们要把 $ 符号正常输入到文件中,该怎么办呢?
答案是需要在 $ 符号前面加 \ 。命令如下:

~# cat >d.sh <<EOF
> DATE=\$(date +%Y%m%d)
> mkdir /root/\$DATE
> EOF

这样把 $ 转义,就可以得到正常的文件内容了:

:~# cat d.sh
DATE=$(date +%Y%m%d)
mkdir /root/$DATE

七、向文件的尾部写入内容。
与写入新内容覆盖源文件相似。只是把原来的 > 换成 >> 即可。
可以像下面这样在文件尾部加入文字内容。

:~# cat >>a.txt <<EOF
> 11111
> 222222

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/207130.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HDU 3177 Crixalis&#39;s Equipment(贪婪)「建议收藏」

    HDU 3177 Crixalis&#39;s Equipment(贪婪)

  • uva 10555 – Dead Fraction)(数论)

    uva 10555 – Dead Fraction)(数论)

  • java8获取以秒单位的时间戳

    java8获取以秒单位的时间戳importjava.sql.Timestamp;//不带小时,分钟publicstaticlonggetTimeStamp(intlen){              //LocalTime.of(0,0)换成LocalTime.now()可获得完整的时间戳(13位毫秒)longtimestamp=Timestamp.valueOf(LocalDateTim…

  • 黑客学习路线[通俗易懂]

    黑客学习路线[通俗易懂]转载:https://www.cnblogs.com/HackKen/p/7732515.html引:在任何时候,我都是孤独的。最近在信安群里也有人问过我,我是如何学习黑客和渗透测试的,在这里,我就把我的学习路线写一下,让新手和小白们不再迷茫,少走弯路,拒绝时间和金钱上的浪费!第一周:入门在学习的时候,你起码需要对常见的黑客术语需要掌握,了解术语的话可以去看看这里的百度文库,写的还是可…

  • VMware如何彻底卸载干净[通俗易懂]

    如何彻底卸载VMware虚拟机禁用VM虚拟机服务首先,需要停止虚拟机VMware相关服务。按下快捷键WIN+R,打开windows运行对话框,输入【services.msc】,点击确定。在服务管理中,找到VM开头的所有服务类别。将所有VM开头的服务禁用掉关闭VMware虚拟机进程按下Ctrl+Alt+Delete,打开任务管理器,找到所有VM开头的进程,全部结束进…

  • QQ图片制作跳转_我要自己制作头像

    QQ图片制作跳转_我要自己制作头像QQ图片跳转加群QQ群里看到一个好像视频的图片,点开却变成一个加群的链接,直接到了这是QQ里的一种插件,类似QQ群机器人,只不过现在很难能找到了,去年有段时间很火,使用插件生成以后发到群内或者QQ聊天内,可以自定义图片和超链接,点击可以跳转图片只是一个预览而已,因为现在的扣扣发网址会自动加载页面的内容预览出来就是一个图片,这个图片是网站制作人员事先设置好的,类似文档的预览图也就是脸面。比如你你发一个加群的链接到群里,然后系统自动加载网页,顺便脸面图片也显示出来了。你点击图片后当然就跳转到加群

发表回复

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

关注全栈程序员社区公众号