老师,管道符里有一个关于more操作命令执行结果那个例子,您解释的让我很迷惑,前面没有加入管道符时,您说,more操作的是文件内容,不能操作命令执行结果,加了管道符您又说more操作命令的执行结果,表示很晕
其实 ls | more 相当于把ls显示的内容存入内存,然后再用more从内存里读取,所以more操作的是文件内容这种说法没错。跟 ls > tmp ; more tmp ; rm -f tmp 的效果相似。
more是一个独立的命令。他工作有两种方式。
第一个是直接操作文件。从头开始分屏显示文件内容。
第二个是分屏输出结果,好比ls 输出的很多内容,需要分屏,你加管道符把cat一个文件输出交给后面的命令处理。more得到了这个文件内容,进行分屏
管道符可以看作是把第一个命令的结果放入文件,再用第二个命令处理,所以可以用more