Linux输出信息并将信息记录到文件(tee命令)
<p><strong>前言</strong></p>
<p>
最近工作中遇到一个需求,需要将程序的输出写到终端,同时写入文件,通过查找相关的资料,发现可以用 tee 命令实现,首先来解释一下 tee 命令的作用:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_906096">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">read from standard input and write to standard output and files.</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
它从标准输入读取内容并将其写到标准输出和文件中。</p>
<p>
<strong>例如:</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_915648">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">ls</code> <code class="bash plain">| </code><code class="bash functions">tee</code> <code class="bash plain">ls_tee.txt</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">cat</code> <code class="bash plain">ls_tee.txt</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
使用 tee 时,如果想保留目标文件原有的内容,可以使用 <code>-a</code> 参数,附加至给出的文件,而不是覆盖它。</p>
<p>
<strong>命令 tee 的参数选项:</strong></p>
<p>
<code>-a</code>: 向文件中重定向时使用追加模式</p>
<p>
<code>-i</code>: 忽略终端信号(Interrupt)</p>
<p>
<strong>tee命令</strong></p>
<p>
tee 命令主要用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的 stdin。也就是可以把数据同时重定向到给定文件和屏幕。</p>
<p>
<img title="Linux输出信息并将信息记录到文件(tee命令)" alt="Linux输出信息并将信息记录到文件(tee命令)" src="https://zhuji.jb51.net/uploads/img/202305/71dfba282d4c71f834331688405b26b2.jpg"></p>
<p>
<strong>总结</strong></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。</p>
頁:
[1]