如果我ls folder | head在包含大量文件的目录中运行,则执行时间大约是其50倍ls folder | tail.当head命令ls有足够的(10)行时,命令是否停止执行?
我无法在任何地方找到答案,因为"管道到头"在Google或此处给了我大量无关的结果.
如果答案是否定的,那么是否有更有效的方法来列出一些文件而不是ls完全运行并切断输出head?
ntk*_*tki 13
一旦head从它的stdin(stdoutof ls)中读取了足够的行,那么它就会退出并因此关闭stdin.当发生这种情况时,管道被认为是破裂并ls接收到SIGPIPE信号.作为对它的反应,它也会在处理通常所做的一切之前终止.在这种情况下tail,它必须等待ls终止以知道哪些X行是最后一行.
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |