Quando ho appena usato pipe in bash, non ci ho pensato più. Ma quando leggo alcuni esempi di codice C usando system call pipe () insieme a fork (), mi chiedo come capire le pipe, comprese sia le pipe anonime che quelle con nome.
Si è spesso sentito che "tutto in Linux / Unix è un file". Mi chiedo se una pipe sia effettivamente un file in modo tale che una parte che collega scrive nel file pipe e l'altra parte legge dal file pipe? Se sì, dove viene creato il file della pipe per una pipe anonima? In / tmp, / dev, o ...?
Tuttavia, da esempi di pipe denominate, ho anche appreso che l'utilizzo delle pipe ha un vantaggio in termini di spazio e tempo rispetto all'uso esplicito dei file temporanei, probabilmente perché non sono coinvolti file nell'implementazione delle pipe. Inoltre le pipe sembrano non archiviare i dati come fanno i file. Quindi dubito che una pipe sia in realtà un file.