本文介绍使用三种不同的方法将Linux系统命令输出重定向到文件,内容有:使用重定向运算符“>”和“>>”将终端输出保存到文件、使用tee命令将命令输出保存到文件、使用logsave命令将命令输出重定向到文件。
前言 我们都知道,默认情况下,每个命令执行后都会在终端上显示。命令的输出可以用作变量或另一个命令的输入,或者重定向到文件以供以后参考。 情况并非总是如此。此外,保存的命令输出可以与某人共享以进行进一步分析。 在本文中,我们将看到如何以不同方式将命令的输出保存到文件中。 1、使用重定向运算符“>”和“>>”。 2、使用tee命令。 3、使用日志保存logsave命令。 参考:Linux下使用>和>>重定向运算符或tee命令将文本写入文件。
1、使用重定向运算符“>”和“>>”将终端输出保存到文件中 将命令的输出从终端重定向到文件的最常见方法是使用“>”和“>>”运算符。 >:它将输出重定向到文件并覆盖文件的现有内容。 >>:它将输出附加到文件的末尾。 要创建/覆盖文件,请使用以下语法: $ command > [filename] 例如,要将hostnamectl命令输出保存到文件“myfile.txt”,请运行: $ hostnamectl > myfile.txt 要附加文件,请使用以下语法: $ command >> [filename] 例如,要将uname命令输出附加到文件“myfile.txt”,请运行: $ uname -a >> myfile.txt 现在,您可以使用cat命令从myfile.txt文件中查看这两个命令的输出: $ cat myfile.txt
2、使用tee命令将命令输出保存到文件 上述方法不会在终端上显示命令输出,但tee命令将结果同时写入标准输出(stdout)和一个或多个文件。 语法: [command] | tee [options] [filename] 要使用tee命令使用命令的输出创建新文件或覆盖现有文件的内容,请运行: $ free | tee myfile_tee.txt
要将命令输出附加到文件而不覆盖其现有内容,请运行: $ date | tee -a myfile_tee.txt Fri Jul 16 13:53:34 IST 2021 现在,您可以使用cat命令从“myfile_tee.txt”文件中查看这两个命令的输出: $ cat myfile_tee.txt
3、使用logsave命令将命令输出重定向到文件 logsave命令的工作方式类似于tee命令,并添加命令执行的时间戳(日期和时间)。 它为每个命令输出添加两个时间戳: 1]、Start Time(First Time):这是指命令执行的开始时间。 2]、End Time (Second Time):这表示命令的完成时间。 请注意:logsave命令需要超级用户权限才能运行(例如root或sudo)。 语法: logsave [filename] [command] 例如,要将lsblk命令输出保存到文件“myfile_logsave.txt”,请运行: $ sudo logsave myfile_logsave.txt lsblk
要将 ip 命令的输出附加到现有文件“myfile_logsave.txt”,请运行: $ sudo logsave -a myfile_logsave.txt ip a
现在,您可以使用cat命令从“myfile_logsave.txt”文件中查看这两个命令的输出: $ cat myfile_logsave.txt
结语 在本文中,我们展示了如何使用三种不同的方法将Linux命令输出重定向到文件,每种方法都较为简单,请选择其中一种方法操作即可。
相关主题 |