How does a FIFO (named pipe) differs from a regular pipe (|)? As I understand from Wikipedia, unlike a regular pipe, a FIFO pipe "keeps living" after the process has ended and can be deleted sometime afterwards.
But if f the process is based on a shell command containing a pipe (cat x | grep y), we could "keep it alive after the process" if we store it in a variable or a file, isn't it then a FIFO?
Also, a regular pipe also has the first stdout it gets, as stdin for another commandfirst stdout it gets, as stdin for another command, so isn't it also a kind of first in first out pipe as well?