当“cat”用作管道的一部分时如何处理大文件?

当“cat”用作管道的一部分时如何处理大文件?

假设我cat有一个大小为 10 GB 的文件,并且我将其通过管道传输到headcat如果我的系统只有 2 GB RAM 和 1 GB 交换空间,是否可以工作?我想了解内部细节。

答案1

cat不需要记住已经从输入发送到输出的文件的任何部分。换句话说,它使用复杂度(1)记忆。

head也不需要记住已经发送的文件的部分内容,它只需要对它们进行计数。此外,它甚至不需要其全部输入;当达到输出请求的行数时,它可以停止。

相关内容