将 Bash 输出重定向到文件
Naila Saad Siddiqui
2023年1月30日
2022年7月18日
这篇小文章是关于 Bash 脚本中将命令输出重定向到文件而不是标准控制台的方法。
有几种方法可以实现这种重定向。在这里,我们将讨论其中的一些。
Bash 中使用 >
和 >>
运算符将输出重定向到文件
两个重定向运算符 >
和 >>
将任何命令的输出重定向到指定文件而不是 stdout
或控制台。
- 使用
>
运算符,将输出插入到文件中,替换所有先前文件的内容。 - 使用
>>
运算符,将输出附加到文件的末尾,保持之前的内容不变。
请记住,在使用此命令之前,你不需要显式创建文件;你需要指定正确的路径,如果文件不存在,Bash 将创建一个新文件。
此命令的语法是:
[command] > /path/to/your/file
让我们看看下面的例子。
从上图中可以看到,执行第一个命令后,屏幕上没有显示任何输出,但所有输出都放在文件中,在下一个命令中查看。
我们将看看 >>
运算符的工作原理。
你可以在图像中看到 uname
命令的输出附加在文件末尾。
Bash 中使 tee
命令将输出重定向到文件
tee
命令还用于将输出重定向到文件。不同之处在于它不仅将输出发送到文件,而且还显示在屏幕上。
请记住,在使用此命令之前,你不需要显式创建文件;你需要指定正确的路径,如果文件不存在,Bash 将创建一个新文件。
此命令的语法是:
[command] | tee /path/to/your/file
让我们看看下面的例子。
此命令用这个新内容替换所有文件内容。如果你想保留以前的内容并附加文件,我们可以使用这个命令和下面的 -a
选项。
因此,我们可以看到有很多方法可以将输出重定向到文件。
我们在这里已经讨论了其中的一些。也有一些其他的方法。