The output of the left command will be passed as the input of the command on the right of the |
.
For you example, yes output unlimited number of y
, and nl
added rownumber to those y
. Then the head command return the first 1000 lines of them.
The >
is not part of a pipe. It's used for redirecting your output from STDOUT
to a file.