Linux 的 cat 命令各种用法

来源:互联网 发布:时尚界的凯撒大帝知乎 编辑:程序博客网 时间:2024/05/20 11:33

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

:~# cat a.txtaaaaaaaaabbbbbbbbcccdddcceeeeroot@abb:~#

二、查找文件中的内容

:~# cat a.txt | grep ccbbbbbbbbcccccee

三、利用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.txt11111112222222:~# cat >c.txt <<EOF> 33333333> EOF:~# cat c.txt33333333:~#

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

有些时候可能会利用cat命令生成一些 Shell 脚本文件。这个时候如果直接写 的话:

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

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

:~# cat d.shDATE=20161006mkdir /root/

那么如果我们要把 符号前面加 \ 。命令如下:

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

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

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

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

:~# cat >>a.txt <<EOF> 11111> 222222
0 0
原创粉丝点击