在bash中,如何将无限输出流重定向到处理的文件?

问题描述 投票:0回答:1

作为实验,我重定向了yes的输出,它是outputs a string repeatedly until killed的命令,如下所示:

yes > a.txt

我在短短一秒钟内用Ctrl + C中断了该过程,但即使在很短的时间内a.txt的大小也只有几百兆字节。

所以,我有几个问题:

  1. 如何在这么短的时间内生成如此大的文件?没有写速度限制,特别是在我正在使用的HDD上吗?

  2. 当我无休止地无休止地重定向程序的输出时,如何避免这种情况?

  3. 假定以上过程很长时间。最终是否将剩余存储空间中的所有空间,或者bash,OS等是否设置了任何“安全措施”?

bash file io-redirection
1个回答
0
投票

输出暂时保留在内核缓冲区中。当您的内存已满时,写入速度将减慢到硬盘速度,仍然非常快。

© www.soinside.com 2019 - 2024. All rights reserved.