Reindirizzare input e output di Terminale
Dalla riga di comando puoi reindirizzare un input o un output da un comando a un file oppure a un altro comando.
Il reindirizzamento dell'output dal comando risulta utile per acquisire i risultati dell'esecuzione del comando e archiviarli in un file da utilizzare in futuro. In modo analogo, puoi reindirizzare un input da un file al comando se vuoi fornire al comando dati di input preimpostati senza doverli inserire manualmente.
Per reindirizzare input e output, utilizza i caratteri seguenti:
reindirizzamento | Descrizione | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
> | Utilizza una parentesi angolare chiusa per reindirizzare l'output di un comando in un file. | ||||||||||
< | Utilizza una parentesi angolare aperta per usare il contenuto di un file come input per il comando. | ||||||||||
>> | Utilizza due parentesi angolari chiuse per aggiungere l'output di un comando in un file. |
Oltre ad eseguire il reindirizzamento di un file, puoi anche reindirizzare l'output di un comando nell'input di un altro comando mediante il carattere Barra verticale. Combinando i comandi in questo modo puoi implementare versioni più sofisticate degli stessi comandi.
Ad esempio, il comando
man bash | grep commands
passa il contenuto formattato della pagina man di bash
allo strumento grep
, che cerca nel contenuto righe contenenti la parola commands. Il risultato è un elenco di righe con il testo specificato, anziché l'intera pagina man. Per ulteriori informazioni sul reindirizzamento, consulta la pagina man di bash
.
I pipe standard includono:
stdin: il pipe di input standard indica dove un comando riceve un input. Di default, l'input viene inserito dall'interfaccia della riga di comando. In stdin puoi reindirizzare l'output di file o altri comandi.
stdout: il pipe di output standard indica dove viene inviato l'output di un comando. Di default, l'output del comando viene inviato alla riga di comando. Puoi reindirizzare l'output dalla riga di comando in altri comandi e strumenti.
stderr: il pipe di errore standard indica dove vengono inviati i messaggi di errore. Di default, gli errori vengono visualizzati nella riga di comando insieme all'output standard.