假设我cat
有一个大小为 10 GB 的文件,并且我将其通过管道传输到head
,cat
如果我的系统只有 2 GB RAM 和 1 GB 交换空间,是否可以工作?我想了解内部细节。
答案1
cat
不需要记住已经从输入发送到输出的文件的任何部分。换句话说,它使用复杂度(1)记忆。
head
也不需要记住已经发送的文件的部分内容,它只需要对它们进行计数。此外,它甚至不需要读其全部输入;当达到输出请求的行数时,它可以停止。
假设我cat
有一个大小为 10 GB 的文件,并且我将其通过管道传输到head
,cat
如果我的系统只有 2 GB RAM 和 1 GB 交换空间,是否可以工作?我想了解内部细节。
cat
不需要记住已经从输入发送到输出的文件的任何部分。换句话说,它使用复杂度(1)记忆。
head
也不需要记住已经发送的文件的部分内容,它只需要对它们进行计数。此外,它甚至不需要读其全部输入;当达到输出请求的行数时,它可以停止。