重定向或附加到 /dev/null
Redirecting or appending to /dev/null
>/dev/null
还是 >>/dev/null
?
我了解写入(写入)常规文件时的区别。但是说到/dev/null
呢?注释?忠告?
似乎通过重定向 >
或附加 >>
重定向到 /dev/null
的行为是相同的。快速测试表明它在时间方面也没有区别:
打印内容:
for i in range(10**4):
print("content")
测试时间命令:
time python printlots.py >> /dev/null ; time python printlots.py > /dev/null
结果:
$ time python printlots.py >> /dev/null ; time python printlots.py > /dev/null
real 0m0.094s
user 0m0.047s
sys 0m0.047s
real 0m0.096s
user 0m0.031s
sys 0m0.063s
所以它不会对您的使用产生明显的影响。这两项工作的原因似乎是让开发人员能够更灵活地在他们的代码中使用 /dev/null
。如果你有一个程序,其中一个输入参数是它打印到的输出文件,并且 append 是你的默认模式,没有 append to /dev/null
意味着你必须首先检查目标文件是什么。 At least that's what this answer assumes.
>/dev/null
还是 >>/dev/null
?
我了解写入(写入)常规文件时的区别。但是说到/dev/null
呢?注释?忠告?
似乎通过重定向 >
或附加 >>
重定向到 /dev/null
的行为是相同的。快速测试表明它在时间方面也没有区别:
打印内容:
for i in range(10**4):
print("content")
测试时间命令:
time python printlots.py >> /dev/null ; time python printlots.py > /dev/null
结果:
$ time python printlots.py >> /dev/null ; time python printlots.py > /dev/null
real 0m0.094s
user 0m0.047s
sys 0m0.047s
real 0m0.096s
user 0m0.031s
sys 0m0.063s
所以它不会对您的使用产生明显的影响。这两项工作的原因似乎是让开发人员能够更灵活地在他们的代码中使用 /dev/null
。如果你有一个程序,其中一个输入参数是它打印到的输出文件,并且 append 是你的默认模式,没有 append to /dev/null
意味着你必须首先检查目标文件是什么。 At least that's what this answer assumes.