Canali
![]() Ultime news
![]() Ultimi articoli
![]() Le ultime dal Forum |
![]() Correlati
Il pezzo che stai leggendo è stato pubblicato oltre un anno fa.
![]() 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 fileRicordate 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:
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. ![]() Esempi con i descrittori Segnala ad un amico |
© Copyright 2025 BlazeMedia srl - P. IVA 14742231005