Q:

can command more read from stdin?

It's common to use the command more. more is usually used with pipe. so I think more has the ability to read from stdin. every command separated by pipe is a process, and the one before more just create pipe and dup2 the write pipe to more's stdin. but I found that if I type "more" in the console, just some usages appear. so what is the matter?

A:

Why do you think that anything is wrong?  More pages output for the terminal so what would be the point in waiting for enough typed stdin input to page?
If you type more and one or more filenames it will page that input.  So the behavior is something like: 
am I attached to a terminal? ("isatty")
   are there filenames in argv
       page files
   else
       display help
else
   page pipe input

