网站搜索

如何在 Linux 中将文本追加到文件末尾


在 Linux 中使用配置文件时,有时您需要将配置参数等文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾或底部。

在这篇短文中,您将学习在 Linux 中将文本附加到文件末尾的不同方法。

使用 >> 运算符附加文本

>> 运算符将输出重定向到文件,如果该文件不存在,则创建该文件,但如果存在,则输出将附加在文件末尾。

例如,您可以使用 echo 命令将文本附加到文件末尾,如图所示。

echo "/mnt/pg_master/wal_archives     10.20.20.5(rw,sync,no_root_squash)" >> /etc/exports

或者,您可以使用 printf 命令(不要忘记使用 \n 字符添加下一行)。

printf "/mnt/pg_master/wal_archives     10.20.20.5(rw,sync,no_root_squash)\n" >> /etc/exports

您还可以使用 cat 命令连接一个或多个文件中的文本并将其附加到另一文件。

在以下示例中,要附加到 /etc/exports 配置文件中的其他文件系统共享将添加到名为 shares.txt 的文本文件中。

cat /etc/exports
cat shares.txt
cat shares.txt >>  /etc/exports
cat /etc/exports

此外,您还可以使用以下此处文档将配置文本附加到文件末尾,如图所示。

cat /etc/exports
cat >>/etc/exports<s<EOF
> /backups 10.20.20.0/24(rw,sync)
> /mnt/nfs_all 10.20.20.5(rw,sync)
> EOF
cat /etc/exports

注意:不要将>重定向运算符误认为>>;对现有文件使用 > 将删除该文件的内容,然后覆盖它。这可能会导致数据丢失。

使用 tee 命令附加文本

tee 命令从标准输入复制文本并将其粘贴/写入到标准输出和文件。您可以使用其 -a 标志将文本附加到文件末尾,如图所示。

echo "/mnt/pg_master/wal_archives     10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exports
OR
cat shares.txt | tee -a /etc/exports

您还可以通过 tee 命令使用此处文档

cat <<EOF | tee -a /etc/exports
>/backups 10.20.20.0/24(rw,sync)
>/mnt/nfs_all 10.20.20.5(rw,sync)
EOF

您可能还想阅读这些相关文章。

  1. 如何在 Linux 中使用 Tee 和 Xargs 从标准输入运行命令
  2. 了解 Linux I/O(输入/输出)重定向工作原理的基础知识
  3. 如何在 Linux 中将命令输出保存到文件
  4. 如何计算文本文件中单词出现的次数

就是这样!您已经学习了如何在 Linux 中将文本附加到文件末尾。如果您有问题或想法要分享,请通过下面的反馈表与我们联系。