It's where input comes from.
- If you say
cat file1
the shell doesn't do anything special.cat
callsopen(2)
on the file and reads from it - If you say
cat < file1
the shell callsopen(2)
on the file and callsdup(2)
intoSTDIN_FILENO
forcat
.cat
just reads fromSTDIN_FILENO