如何在Windows、Mac和Linux上保存命令行输出到文件
当您运行终端命令时,它通常会在终端中打印输出,因此您可以立即阅读它。但是,有时您可能希望保存输出以供以后分析,或者将其与另一个工具组合。
您可以在命令行上使用输出重定向来执行此操作。了解如何在Windows、Mac和Linux上将命令输出发送到文本文件。
将命令行输出重定向到文件
有两个操作符可以用来将命令的输出重定向到文件:和。>>>了解两者之间的区别是很重要的,以避免意外的数据丢失。
该符号创建一个新文件,或覆盖它(如果它已经存在)。>操作员还创建一个新文件,如果它不存在,但它不会覆盖现有文件。>>如果文件已经存在,它会在文件的末尾附加文本。
若要将命令的输出重定向到文件,请键入命令,然后指定或运算符,最后提供要将输出重定向到的文件的路径。>>>例如,以下是如何保存ls命令的输出,该命令列出了目录的内容:
ls/path/to/file>
将/path/to/file替换为要使用的文件的完整路径。命令将静默运行,并将输出存储在指定的文件中。
要在终端中查看文件的内容,可以使用cat命令。再次,将/path/to/file替换为要查看的文件的完整路径。
cat/path/to/file
您应该会在新文件中看到该命令的输出:
操作员替换现有文件的内容。>如果要将多个命令的输出保存到单个文件中,请改用操作符。>>这将附加到文件中,这样您就不会丢失任何先前保存的输出。
例如,尝试将系统信息附加到刚创建的文件的结尾。只需运行uname—在Linux/Mac上运行a—或者在Windows上运行ver命令—并添加操作符和文件路径:>>
uname—a/path/to/file>>
根据需要重复此过程多次,以将命令输出附加到文件末尾。
将输出打印到屏幕并将其重定向到文件
和操作符不会在屏幕上显示命令的输出,它们只是将其发送到文件中。>>>如果要将输出发送到文件并在屏幕上看到,请使用tee命令。
要使用tee命令,请使用管道操作符将另一个命令的输出发送给它,垂直条(|).例如,以下是如何使用管道将ls命令的输出发送给tee:
LS| tee/path/to/output.txt
然后,TEE命令将该输出发送到屏幕和您指定的文件。这将覆盖该文件,或者在文件不存在时创建一个新文件,就像>;操作符一样。
若要使用tee命令将输出输出打印到屏幕并将其附加到文件的末尾,请在文件路径之前添加—a标志,例如:
uname—a| tee—a/path/to/output.txt
您将在屏幕上看到命令输出,您可以使用CAT来验证TEE是否也将其添加到文件中:
利用命令行的力量
有许多方法可以将输出(包括错误)重定向到文件。使用命令行的强大功能,您可以监视系统活动、组合来自多个来源的数据等。
除了节省输出,您还可以在终端上做更多的事情。虽然学习曲线可能很陡峭,但终端命令表现力强,可组合,而且通常比GUI替代品更快。