通常使用更多的命令。 通常使用更多的pipe道。 所以我觉得更多的是从stdin读取的能力。 每个由pipe分隔的命令都是一个进程,而前一个命令只是创buildpipe和dup2写入到更多的stdin。 但是我发现如果我在控制台中input“more”,就会出现一些用法。 那么这是怎么回事?
你为什么认为有什么不对? 为终端输出更多的页面,那么等待足够的输入页面的标准输入是什么意思?
如果你输入more
和一个或多个文件名,它将页面输入。 所以行为是这样的:
am I attached to a terminal? ("isatty") are there filenames in argv page files else display help else page pipe input
这是一个功能。 它检测到其标准输入连接到终端,并显示帮助信息而不是继续。 几乎没有什么情况可以在您手动输入时在输入上运行寻呼机。 如果你真的想要,试试cat | more
cat | more
例如。
值得一提的是,我查看了我的linux发行版中的源代码包,发现这个:
if (!no_intty && nfiles == 0) { usage(argv[0]); exit(1); }
所以的确如此,如果没有检测到输入,则显示使用信息。