良许Linux教程网 干货合集 Linux Bash:写入文件具体方法

Linux Bash:写入文件具体方法

读写文件是编写Bash脚本或在Linux命令行上最常见的任务,本篇文章将为大家分享一下Linux Bash写入文件具体方法。

Linux Bash写入文件具体方法

使用重定向操作符写入文件

在Bash中,输出的重定向使您可以从命令捕获输出并将其写入文件。

将输出重定向和写入文件的一般格式如下:

 output > filename
 output >> filename

Copy

  • >重定向运算符将输出写入指定文件。 如果文件存在,则将其截断为零长度。 否则,将创建文件。 使用此运算符时要格外小心,因为您可能会覆盖重要文件。

  • >>重定向运算符会将输出追加到给定文件。 如果文件不存在,则会创建该文件。

您需要具有对该文件的写入权限。 否则,您将收到拒绝权限错误。

这是一个简单的示例,显示了如何将echo命令的输出重定向到文件:

 echo "this is a line" > file.txt

Copy

为防止覆盖现有文件,请使用内置的set启用“ noclobber”选项:

 set -o noclobber
 echo "this is a line" > file.txt

Copy

 bash: file.txt: cannot overwrite existing file

Copy

>|运算符可让您覆盖Bash的“ noclobber”选项:

 set -o noclobber
 echo "this is a line" >| file.txt

Copy

>>运算符将输出追加到文件末尾,而不是覆盖文件:

 echo "this is a line" >> file.txt

Copy

使用printf命令创建复杂的输出:

 printf "Hello, I'm %s.\n" $USER > file.txt

Copy

如果要将多个行写入文件,请使用heredoc文档(Heredoc)重定向。

例如,您可以将内容传递到cat命令并将其写入文件:

 cat  file.txt
 The current working directory is: $PWD
 You are logged in as $(whoami)
 EOF

Copy

要添加这些行,请在文件名之前将>更改为>>

 cat > file.txt
 The current working directory is: $PWD
 You are logged in as $(whoami)
 EOF

Copy

您可以将任何命令的输出写入文件:

 date +"Year: %Y, Month: %m, Day: %d" > file.txt

Copy

date命令的输出将被写入文件。

使用tee命令写入文件

tee命令从标准输入读取并同时写入标准输出和一个或多个文件。

 echo "this is a line" | tee file.txt

Copy

tee命令的默认行为是覆盖指定的文件,与>运算符相同。 要将输出附加到文件,请使用-a--append)选项调用命令:

 echo "this is a line" | tee -a file.txt

Copy

如果您不希望tee写入标准输出,则可以将其重定向到/dev/null

 echo "this is a line" | tee file.txt >/dev/null

Copy

要将文本写入多个文件,请将文件指定为tee命令的参数:

 echo "this is a line" | tee file_1.txt file_2.txt file_3.txt

Copy

tee命令的另一个优点是,您可以将其与sudo结合使用,并写入其他用户拥有的文件。 要将文本追加到您没有写权限的文件中,请在tee之前加 sudo

 echo "this is a line" | sudo tee file.txt

Copy

echo命令输出作为输入传递到tee,这将提升sudo权限并将文本写入文件。

总结

本篇文章通过使用重定向操作符和tee命令为大家演示了在bash脚本写入文件具体方法,大家如果还有相关疑问可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部