Red Hat Linux 7.0: The Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Indietro | Capitolo 15. Siete qui | Avanti |
Non preoccupatevi non parleremo di "tubi". In ambito Linux, una pipe collega lo standard output di un comando con lo standard input di un altro.
Torniamo un passo indietro, al comando ls. Ci sono diverse opzioni disponibili con il comando ls, ma cosa succede se la visualizzazione dei contenuti della directory è troppo veloce per poterli vedere ?
Guardiamo il contenuto della directory /etc.
ls -al /etc |
Come possiamo visualizzare con calma l'output prima che scompaia dallo schermo?
È possibile inviare l'output all'utility less. Conosciuta come pager, less, (come more) vi permette di vedere le informazioni in una pagina (o schermata) alla volta.
Per il collegamento dello standard output con lo standard input del comando successivo si usa il carattere (|) (come mostrato nella Figura 15-15).
ls -al /etc | less |
In questo modo vedrete il contenuto della directory diviso in schermate. Per accedere alla schermata successiva, premete Space; per tornare alla schermata precedente, premete B; per uscire, premete il tasto Q.
Come leggere i messaggi di startup | |
---|---|
Volete leggere i messaggi di startup più attentamente? Al prompt della shell, digitate dmesg | less. Sarete in grado di leggere il file uno schermo per volta. Per andare avanti, premete Space; per uscire, premete Q. |
In verità abbiamo usato i comandi pipe, prima di spiegare cosa sono.
Nelle pagine precedenti, parlando delle pagine "man", abbiamo utilizzato il comando pipe per stampare su carta le pagine del comando ls:
man ls | col -b | lpr |
Stiamo ridirezionando l'output di man ls ad un filtro chiamato col con una opzione -b per formattare il testo per la stampante, poi abbiamo ridirezionato l'output alla stampante con il comando lpr.
Sintesi | |
---|---|
La pipe permette di ridirezionare l'output di un comando verso l'input di un altro comando. Per esempio: ls -al /etc | more invia l'output del comando ls al comando more per permetterne la lettura. |