Punto informatico Network
Canali
20100315081905_91510602_20100315081846_1745368878_pipe_spotlight.png

Bash: pipe e redirezioni

07/05/2010
- A cura di
Linux & Open Source - Pipe e redirezioni sono tra gli strumenti fondamentali di utilizzo della shell Bash, e costituiscono parte del bagaglio di conoscenze di base che un utente della console testuale di Linux deve avere.

Tag

Passa qui con il mouse e visualizza le istruzioni per utilizzare i tag!

pipe (1) .

Valutazione

  •  
Voto complessivo 3.5 calcolato su 9 voti
Il pezzo che stai leggendo è stato pubblicato oltre un anno fa. AvvisoLa trattazione seguente è piuttosto datata. Sebbene questo non implichi automaticamente che quanto descritto abbia perso di validità, non è da escludere che la situazione si sia evoluta nel frattempo. Raccomandiamo quantomeno di proseguire la lettura contestualizzando il tutto nel periodo in cui è stato proposto.

L'incredibile versatilità di Bash viene dimostrata da due caratteristiche estremamente utili della shell: la possibilità di creare pipe o pipeline (dall'inglese "pipe", ovvero "tubo", dove una "pipeline" è una riga di comando fatta di uno o più pipe), che sono come dei vasi comunicanti dove il fluido in uscita da un vaso viene mandato all'interno del vaso successivo per un'ulteriore lavorazione, e le redirezioni, ovvero delle "corsie preferenziali" su cui vengono indirizzati dei flussi di dati, per poi sfociare in delle uscite particolari chiamate descrittori di file, o file descriptors. I file descriptors giocano un ruolo cruciale in entrambe queste funzioni, e prima di andare avanti dobbiamo chiarire che cosa sono.

Descrittori di file

Ricordate gli esempi di file descriptor evidenziati nella guida a dd?

I file descriptors possono essere visti sia come corsie preferenziali che come tubi, attraverso cui passano dei flussi di dati diretti verso un altro descrittore di file, che a sua volta sfocia in un programma o in un file "concreto".

I descrittori di file interagiscono con i programmi di origine o di destinazione così come i segnali elettronici vengono elaborati da più circuiti integrati in cascata, cosicchè all'uscita dell'intero sistema ci sia il segnale filtrato e lavorato, pronto per essere usato nel modo che ci eravamo prefissi.

I file descriptors (o fd [1]) più usati e comuni sono tre:

  • fd0 (descrittore 0, standard input stdin)
  • fd1 (descrittore 1, standard output stdout)
  • fd2 (descrittore 2, standard error stderr [2])

Attraverso questi tre descrittori si gioca qualcosa come il 99% dei flussi di entrata e uscita dei programmi UNIX nelle pipe e nelle redirezioni. [3]

Un modo per accedere al contenuto dei descrittori di un programma in esecuzione è entrare nella directory

/proc/$(pidof <programma>)/fd

Dove <programma> è il nome del programma in esecuzione (possiamo chiamarlo anche processo) di cui vogliamo conoscere i descrittori di file. [4]

Accederete ad una lista di link simbolici che fanno riferimento al terminale virtuale in cui è in esecuzione il processo.

Pagina successiva
Esempi con i descrittori

 

Segnala ad un amico

Tuo nome Tuo indirizzo e-mail (opzionale)
Invia a:
    Aggiungi indirizzo email
    Testo

    © Copyright 2024 BlazeMedia srl - P. IVA 14742231005

    • Gen. pagina: 0.22 sec.
    •  | Utenti conn.: 59
    •  | Revisione 2.0.1
    •  | Numero query: 44
    •  | Tempo totale query: 0.05