4

我想知道在linux的终端上向stdout写入数据是否占用磁盘空间。我试图在手册页中查找有关stdouttty的信息,但似乎没有答案。

感谢您的任何提示。

我有一个安装了openwrt的路由器,但是路由器的总空间是 2MB,现在只剩下 12KB。我想运行一个bash脚本在openwrt系统的终端上打印一些信息。所以我想知道将数据打印到标准输出时是否会占用磁盘空间。

4

2 回答 2

5

stdout不是一个特定的文件,也不是一个位置(磁盘、内存等)——它是一个概念。通常,当谈到 linux 应用程序中的标准输出时,我们指的是像对象这样的文件(即支持(写入、刷新等)。

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

于 2013-08-05T08:30:37.447 回答
4

除非输出被重定向(尽管通过管道连接到 egtee或带有>shell 重定向操作符的文件),否则不会,输出不会进入文件系统。输出到控制台(或终端仿真器)的速度很慢,通过文件系统传递它会使其更慢,并且如果有大量输出,可能不允许磁盘减速。

但是,如果操作系统认为应该在实际写入输出之前换出进程,它可能最终会出现在交换空间中。

于 2013-08-05T08:29:20.137 回答