如何在 Linux 中将输出和错误重定向到 /dev/null如何在 Linux 中将输出和错误重定向到 /dev/null如何在 Linux 中将输出和错误重定向到 /dev/null如何在 Linux 中将输出和错误重定向到 /dev/null
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 中将输出和错误重定向到 /dev/null

发表 admin at 2025年2月28日
类别
  • 未分类
标签

了解如何在 Linux 中将输出或错误或两者重定向到 /dev/null,以便它不会显示在屏幕上。

想象一下这个场景。您运行一个 Linux 命令,它会产生大量输出。您不想看到它的输出。

或者,您在脚本中使用某些 Linux 命令,并且不希望它在终端屏幕上显示任何输出或错误。

对于这种情况,您可以利用输出和错误重定向并将它们发送到 /dev/null。

将输出发送到 /dev/null:

command 1> /dev/null

将错误发送到 /dev/null:

command 2> /dev/null

将输出和错误发送到 /dev/null:

command 2>&1 /dev/null

/dev/null 可以被认为是 Linux 文件系统的黑洞,所以无论你扔在那里,都永远不会再看到光明。

我们在这里详细看看。

在 Linux 中将输出重定向到 /dev/null

让我从基础知识开始。您在终端中键入的命令就是您的输入(假设我执行了 sudo apt update)。

因此,我向系统输入了输入,它将更新目录,并向我显示正在进行的进程,例如正在更新的存储库和现在已过时的软件包:

简而言之,它给出的输出显示了它对命令执行的操作。现在,这是每个标准数据流的编号:

  • 标准输入 (stdin) 指定为 0

  • 标准输出 (stdout) 指定为 1

  • 标准错误 (stderr) 指定为 2

现在,让我向您展示如何将标准输出重定向到 dev/null:

command 1> /dev/null

例如,我将故意使用 find 命令,该命令将显示带有错误的输出,以便当我将输出重定向到 /dev/null 时,错误应该保持不变:

正如您所看到的,当我使用 find 命令而不重定向输出时,它显示了价值 1807 行的输出。

当我重定向输出时,它仅显示错误,因为它属于标准错误流。

在 Linux 中将错误重定向到 /dev/null

正如我之前提到的,错误流指定为 2。因此您只需对上述命令进行一些更改即可开始!

要重定向错误,您必须使用 > 符号来重定向数据流,并使用数字 2 指示它在标准错误上重定向数据流。

command 2> /dev/null

例如,我将在 Ubuntu 上使用 sudo dnf update ,因此错误很明显,在第二个窗口中,我将演示如何重定向错误:

在 Linux 中将输出和错误重定向到 /dev/null

在本节中,我将向您展示如何将输出和错误重定向到 /dev/null。

将输出和错误重定向到 /dev/null 的基本语法如下:

command 1> /dev/null 2> /dev/null

或者您也可以使用较短的版本:

command 2>&1 /dev/null

对于此示例,我将使用 find 命令在 etc 目录中查找文件,在该目录中您需要 sudo 权限才能访问某些子目录,并且在不使用 sudo 的情况下使用时,它将引发错误:

包起来

这是我对如何将输出和错误重定向到 /dev/null 的看法。

如果您想了解有关重定向数据流的更多信息,我强烈推荐您有关 Linux 中重定向数据流的详细指南。

©2015-2025 Norria support@norria.com