在Linux中将数据写入标准输出(stdout)会占用磁盘空间吗?

4
我想知道在Linux终端的标准输出(stdout)写入数据是否会占用磁盘空间。我查阅了关于stdout和tty的man手册,但是似乎并没有答案。谢谢任何提示。
我在路由器上安装了openwrt系统,但是路由器的总空间仅为2MB,现在只剩下12KB的空间。我想运行一个Bash脚本在openwrt系统终端上打印一些信息。因此,我想知道在将数据打印到stdout时是否会占用磁盘空间。
2个回答

5

stdout不是一个具体的文件或位置(磁盘、内存等),而是一个概念。通常,在谈论Linux应用程序中的stdout时,我们指的是类似文件的对象(支持写入、刷新等操作)。

输出可以重定向到磁盘上的实际文件中,在这种情况下,写入stdout可能会占用磁盘空间。


4
除非输出被重定向(例如通过管道到tee或使用> shell重定向运算符写入到文件中),否则输出不会进入文件系统。将输出传递到控制台(或终端仿真器)已经很慢了,通过文件系统传递输出会使它变得更慢,并且如果有大量输出可能不允许磁盘停转。
然而,如果操作系统认为进程应该在输出实际写入之前被交换出去,则可能会在交换空间中结束。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接