反向/ dev / null

时间:2015-12-04 02:28:40

标签: linux unix terminal

我正在编写一个程序,需要暂时使输出静音。我上网后发现解决方案如下:

./program > /dev/null

我现在需要查看输出,但还没有找到方法。在线查找之后,我现在明白我基本上做的是将输出发送到“黑洞”,我相信我需要做的是将程序的输出发送回标准输出

我试过了:

./program >1
./program >stdout
./program /dev/null>1
./program /dev/null>stdout

但仍无法让它发挥作用。有人知道可能的解决方案吗?

2 个答案:

答案 0 :(得分:6)

您无法取回之前的输出。但只是正常运行程序会产生输出./program ...

>

var tooltip = svg.append("rect") .attr("x", -300) .attr("y", 0) .attr("width", 300) .attr("height", height) .attr("color", "black") .attr("opacity", 0.8); var toggleWindow = (function () { var currentStatus = -300; return function () { currentStatus = currentStatus === -300 ? 0 : -300; d3.select(tooltip).attr("x", currentStatus); }; })(); var node = svg.selectAll(".node") .data(json.nodes) .enter().append("g") .on("mouseover", mouseover) .on("mouseout", mouseout) .on("click", toggleWindow) .call(force.drag);('重定向'运算符),将程序的输出重定向到目标文件(或流)。你不需要撤消'或者'反向'这在随后的运行中。 Wikipedia has a great overview

答案 1 :(得分:0)

您已经说过两次,在命令行上没有重定向的程序不会产生任何输出。所以问题是你的程序,而不是重定向。

另请注意:

./program /dev/null>1
./program /dev/null>stdout

你试过的这两个传递" / dev / null"作为应用程序的参数并将重定向应用于此。

如果要使用重定向输出 标准输出和文件,则需要 tee 命令。

你会使用类似的东西:

./program | tee mylogfiletxt

' |'是程序输出和tee应用程序输入之间的管道。 tee 会将其输入的副本发送到stdout 您命名的文件。