This question may sound a bit stupid, but I can not really see the difference between redirection and pipes.
Redirection is used to redirect the stdout/stdin/stderr, e.g. ls > log.txt
.
Pipes are used to give the output of a command as input to another command, e.g. ls | grep file.txt
.
But why are there two operators for the same thing?
Why not just write ls > grep
to pass the output through, isn't this just a kind of redirection also? What I am missing?