Linux shell 有几个运算符可以将命令的输出重定向或通过管道传输到文件中。 在本指南中,我将向您展示几种将回显输出重定向到文件的方法。 我们将用 echo 输出替换文件的内容,然后我们将使用 echo 将文本附加到现有文件,最后,我们将通过 SSH 将文本回显到远程系统上的文件。 此处显示的所有示例都适用于任何 Linux 发行版,例如 Ubuntu、Debian、Linux Mint、Rocky Linux 等。
回显到文件中
这 ”>” 运算符用于将文件的内容替换为 echo 命令返回的文本。
句法:
echo "some text here" > /path/to/file
例子:
$ echo "Greetings from Vitux.com" > /tmp/test.txt
该命令不会在 shell 上显示任何结果,整个输出将保存到文件中。 现在检查我们的文件 /tmp/test.txt 的内容。 我将使用 cat 命令:
cat /tmp/test.txt
使用 Echo 向文件添加更多内容
在第二个示例中,我将向我们的文件 /tmp/test.txt 添加内容而不替换内容。 内容将附加到文件的末尾。 用于附加内容的运算符是“>>“。
句法:
echo "Some text to be appended" >> /path/to/file
例子:
echo "More text from Vitux here" >> /tmp/test.txt
上述命令将文本“More text from Vitux here”附加到文件 /tmp/test.txt。 test.txt 文件已经包含我们第一个示例中的文本“来自 Vitux.com 的问候”。 现在让#s看看文件中有什么,我将再次使用cat命令在shell上显示文件内容
cat /tmp/test.txt
在远程系统上回显到文件
有时您可能希望将文本写入另一个 Linux 系统上的文件中。 只要两个系统都通过 LAN 或 Internet 连接,您就可以使用 SSH 来执行此操作。 ssh 命令具有 -f 命令行开关,可直接通过 ssh 传递命令,然后转到允许您输入密码(如果需要)的后台。
例子:
ssh [email protected] -f 'echo "Text added via SSH" >> /tmp/test.txt'
其中“user”是您希望登录到远程服务器或桌面的用户名。 将“remotesystem”一词替换为远程计算机的主机名或 IP 地址。
我已经在远程系统上运行了该命令,将一些文本添加到我们的 test.txt 文件中。 结果是:
现在您已经学习了如何将文本回显到本地系统上的文件中,以及如何通过 SSH 在远程系统上执行此操作。