Pipe (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
rivisto con precisazioni, aggiungendo esempio di pipeline software da shell |
|||
Riga 1:
{{nota disambigua|altri significati per "Pipe"|[[Pipe (disambigua)]]}}
Il termine '''pipe''' ha due significati strettamente correlati tra loro:
* indica uno degli strumenti di [[comunicazione tra processi]] offerti dal [[sistema operativo]];
* indica una funzionalità delle ''[[shell (informatica)|shell]]'' testuali basata sul precedente.
== Pipe come
Nei sistemi operativi una '''pipe''' è uno degli strumenti
Nei sistemi operativi [[Unix]] e [[Unix-like]] una ''pipe'' è usabile tramite una coppia di [[descrittore di file|descrittori di file]], uno per scrivere dati e l'altro per
In maniera analoga, nei sistemi operativi [[Microsoft_Windows|Microsoft Windows]] una ''pipe'' convenzionale è denominata '''anonymous pipe''' ed è usabile tramite una coppia di [[HANDLE]]: il primo per la scrittura dei dati, il secondo per la lettura. Per creare una ''anonymous pipe'' va usata la chiamata di sistema [[CreatePipe]].
Line 27 ⟶ 29:
==Funzione pipe nelle shell testuali ==
Nelle ''[[shell (informatica)|shell]]'' testuali di molti sistemi operativi (tra cui i sistemi Unix e Unix-like, MS-DOS e Microsoft Windows) esiste una
Il carattere utilizzato nella sintassi (la [[barra verticale]]: <code>|</code>) è detto per l'appunto ''pipe'', e viene inserito tra le invocazioni di due o più programmi per indicare al sistema che i dati diretti allo ''[[standard output]]'' del
Ad esempio, nei sistemi Unix e Unix-like, la linea di comando che segue legge il file <code>file.txt</code> tramite il comando [[cat (Unix)|cat]], che invia i dati al comando [[tr (Unix)|tr]] per sostituire gli spazi ed i segni di punteggiatura con il carattere di ritorno a capo; a sua volta esso passa il risultato al comando [[sort (Unix)|sort]] per ordinare le linee, che lo passa al comando [[uniq]] per scartare le linee duplicate, ottenendo così un elenco ordinato alfabeticamente delle parole contenute nel file:
Una sequenza di comandi uniti con le ''pipe'' è detta ''[[pipeline software]]''.▼
cat file.txt | tr '[[:space:][:punct:]]' '\n' | sort | uniq
▲Una sequenza di comandi uniti con le ''pipe'' come quella sopra esposta è detta ''[[pipeline software]]''.
Un programma progettato per lavorare leggendo dati dallo ''standard input'' e producendo il risultato sullo ''standard output'' è detto [[Filtro (Unix)|filtro]].
|