Questo meccanismo consente di creare dei filtri, ovvero
programmi che eseguono delle trasformazioni sui dati ricevuti
dallo standard input e scrivono il risultato sullo standard output.
La filosofia di Unix è quella di fornire, al posto di grossi programmi
dalle molteplici funzioni, dei comandi specializzati in una funzione
particolare, con la conseguenza che ogni programma è estremamente
compatto, efficiente e ben congegnato (più un programma è semplice,
più è possibile ripulirlo dagli errori).
Generalmente filtri anche complessi sono ottenuti dalla composizione
di più comandi in una pipeline più o meno lunga.
E' bene notare che la costruzione di pipeline è possibile perché
tutti i programmi del sistema lavorano con semplici file di testo,
consentendo di interfacciarsi l'uno con l'altro in maniera pressoché
immediata.
Questo risultato non potrebbe essere ottenuto se ogni programma
richiedesse un formato proprietario con cui leggere e scrivere
i dati.
Unix, e quasi tutti i sistemi da esso derivati, è un sistema timesharing
e multiprogrammato, per cui ogni utente è in grado di far girare
più programmi contemporaneamente, ognuno con un processo separato.
Per permettere l'esecuzione contemporanea di più processi, la
shell consente di far girare un programma in background,
ovvero il programma viene eseguito e la shell non attende che
esso termini, ma, subito dopo aver avviato il processo, ripresenta
il prompt in attesa che l'utente digiti il comando successivo.
Per indicare alla shell che il programma (o l'insieme di programmi)
deve girare in background, occorre mettere un carattere '&'
alla fine della riga.
|