># cat /etc/passwd > test
># cat < test >> test
我像那样输入提示。
然后命令的结果是测试文件的大小增加很多而且很快。 为什么会这样?
在第二个命令中,你告诉操作系统:
- 打开
test
读取 (< test
) - 打开
test
进行写入,并寻求到底(>> test
)
然后cat
从当前读取文件指针读取一个块,并将该块写入当前写入文件指针,直到它到达末尾。但是,由于文件在每次写入时都会不断增长,因此读取块永远不会到达实际结束,并且会永远持续下去。
看起来您读取和写入同一个文件 ("test"
)。显然,您的计算机写入速度比读取速度快。读取不会获得 EOF(文件结尾),因此文件会增长。
这是一个有趣的案例,在哪个设备/文件系统类型文件"test"上创建?