Oggi vediamo una funzionalità molto interessante della linea di comando di Linux: la redirezione dell’output. È un argomento in realtà molto complesso, ma partiamo dalle cose semplici.
Cos’È la redirezione
Ogni comando produce un output di qualche tipo, che normalmente vediamo sul terminale. La redirezione serve a dirigere quell’output altrove, per esempio in un file di testo, invece di dover fare copia e incolla.
Per l’esempio uso pwgen, il generatore di password sicure di cui abbiamo parlato in un’altra puntata. Se non l’avete installato:
sudo apt install pwgen
Generiamo password di 16 caratteri, 12 in tutto, con numeri, simboli e maiuscole, e con l’opzione -1 per averle in una sola colonna, una per riga:
pwgen -nyc1 16 12
Questo che vedete è l’output di pwgen con le opzioni scelte. Cosa succede se, invece di visualizzare le password sul terminale, le voglio scrivere su un file?
Scrivere su un file: il simbolo >
Basta ripetere lo stesso comando e aggiungere il simbolo di maggiore, seguito dal nome del file dove vogliamo che l’output venga scritto:
pwgen -nyc1 16 12 > password.txt
Abbiamo generato il file password.txt. Con ls vediamo che esiste, e per visualizzarne il contenuto il modo più semplice è cat:
ls
cat password.txt
Aggiungere senza sovrascrivere: il simbolo >>
Diciamo che mi servono altre password e voglio aggiungerle al file. Il simbolo di maggiore usato una volta sola sovrascrive il file di destinazione. Se invece voglio aggiungere in fondo, senza sovrascrivere, uso il doppio segno di maggiore, con gli stessi argomenti:
pwgen -nyc1 16 12 >> password.txt
Il comando aggiunge altre 12 password al file. Controlliamo:
cat password.txt
Ora il file contiene 24 password.
Conclusione
Queste sono le basi: la redirezione dell’output può fare molto di più. La prossima volta vedremo come usarla in modi più creativi e parleremo della redirezione dell’input. Provate a mettere in pratica quello che abbiamo visto, per familiarizzare con la linea di comando.
Link e risorse
- il video su YouTube
- esempi e comandi della puntata su GitHub
- bash(1), pagina di manuale — la sezione Redirection
- pipe(7), pagina di manuale — pipe e flussi
- tee(1), pagina di manuale — per sdoppiare l’output
Sostieni il canale
PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE!
questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!
