云网牛站
所在位置:首页 > Linux命令 > 将Linux系统命令输出重定向到文件的三种方法

将Linux系统命令输出重定向到文件的三种方法

2021-07-20 09:26:09作者:李群稿源:云网牛站

本文介绍使用三种不同的方法将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

将Linux系统命令输出重定向到文件的三种方法

 

2、使用tee命令将命令输出保存到文件

上述方法不会在终端上显示命令输出,但tee命令将结果同时写入标准输出(stdout)和一个或多个文件。

语法:

[command] | tee [options] [filename]

要使用tee命令使用命令的输出创建新文件或覆盖现有文件的内容,请运行:

$ free | tee myfile_tee.txt

将Linux系统命令输出重定向到文件的三种方法

要将命令输出附加到文件而不覆盖其现有内容,请运行:

$ date | tee -a myfile_tee.txt

Fri Jul 16 13:53:34 IST 2021

现在,您可以使用cat命令从“myfile_tee.txt”文件中查看这两个命令的输出:

$ cat myfile_tee.txt

将Linux系统命令输出重定向到文件的三种方法

 

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

将Linux系统命令输出重定向到文件的三种方法

要将 ip 命令的输出附加到现有文件“myfile_logsave.txt”,请运行:

$ sudo logsave -a myfile_logsave.txt ip a

将Linux系统命令输出重定向到文件的三种方法

现在,您可以使用cat命令从“myfile_logsave.txt”文件中查看这两个命令的输出:

$ cat myfile_logsave.txt

将Linux系统命令输出重定向到文件的三种方法

 

结语

在本文中,我们展示了如何使用三种不同的方法将Linux命令输出重定向到文件,每种方法都较为简单,请选择其中一种方法操作即可。

 

相关主题

在Linux/Unix系统上使用cat和cp命令的示例

Linux命令子频道
精选文章
热门文章