📅  最后修改于: 2023-12-03 15:24:44.563000             🧑  作者: Mango
在 Linux 中,将命令的输出打印到文件中是一个常见的任务。这个过程可以用一些简单的命令和符号来完成,无论是在 Shell 还是 Bash 中都很容易。
>
要将命令的输出重定向到文件中,可以使用 >
符号,紧接着是要输出到的文件的名称。例如:
$ ls > file.txt
这个命令会将 ls
命令的输出保存到名为 file.txt
的文件中。如果文件不存在,它将被创建。如果文件已经存在,它将被覆盖。
# 以 ls 命令为例,将其输出保存至 file.txt
ls > file.txt
>>
如果您想将输出追加到文件中,而不是覆盖文件,您可以使用 >>
符号。例如:
$ ls >> file.txt
这个命令会将 ls
命令的输出附加到名为 file.txt
的文件的末尾。如果文件不存在,它将被创建。
# 以 ls 命令为例,将其输出追加到 file.txt
ls >> file.txt
有时,您可能还想将错误消息和标准输出一起保存到同一个文件中。为此,您可以使用 2>&1
符号。例如:
$ ls /tmp 2>&1 > file.txt
这个命令将 ls
命令的标准输出和错误消息重定向到同一个文件中。错误消息将被追加到文件末尾,并且所有的输出都将被保存在同一个文件中。
# 以 ls /tmp 命令为例,将其输出和错误重定向到 file.txt
ls /tmp 2>&1 > file.txt
有时,您可能想将命令的输出作为标准错误消息来处理,而不是标准输出消息。为此,您可以使用 >&2
符号。例如:
$ ls /tmp > /dev/null 2>&1
这个命令会将 ls
命令的输出重定向到 /dev/null
设备,这意味着输出将被丢弃。然后,错误消息将被重定向到标准输出,这意味着它们将作为标准错误消息处理。
# 以 ls /tmp 命令为例,将其输出重定向到标准错误处理
ls /tmp > /dev/null 2>&1
现在,您已经了解了如何将命令的输出打印到 Linux 中的文件中。您可以使用简单的命令和符号执行此操作。请记住,>
符号将覆盖文件,而 >>
符号将追加到文件末尾。还要记住,通过重定向错误消息,您可以更好地处理和跟踪错误。