Quando esegui un comando da terminale, di solito verrà stampato l'output nel terminale in modo che tu possa leggerlo immediatamente. Tuttavia, a volte potresti voler salvare l'output per un'analisi successiva o per combinarlo con un altro strumento.
Puoi farlo utilizzando il reindirizzamento dell'output sulla riga di comando. Scopri come inviare l'output del comando a un file di testo su Windows, Mac e Linux.
Reindirizzare l'output della riga di comando su un file
Sono disponibili due operatori che è possibile utilizzare per reindirizzare l'output del comando su file: >> e > . È importante comprendere la differenza tra questi due operatori per evitare perdite involontarie di dati.
L' icona > crea un nuovo file o sovrascrive il vecchio file se già esiste. L' operatore >> crea anche un nuovo file se non esiste ma non sovrascriverà il file esistente. Se il file esiste già, aggiungerà il testo alla fine del file.
Per reindirizzare l'output di un comando su un file, inserisci il comando, quindi specifica l' operatore > o >> e infine fornisci il percorso del file a cui desideri reindirizzare l'output. Ad esempio, ecco come salvare l'output del comando ls, che elenca il contenuto di una directory:
ls > /path/to/file
Sostituisci /percorso/file con il percorso completo del file che desideri utilizzare. Il comando verrà eseguito in modo silenzioso, memorizzando l'output nel file specificato.
Per visualizzare il contenuto di un file nel terminale, puoi usare il comando cat . Ancora una volta, sostituisci /percorso/file con il percorso completo del file che desideri visualizzare.
cat /path/to/file
Dovresti vedere l'output del comando nel tuo nuovo file:
Reindirizzare l'output di ls su un file
L' operatore > sostituisce il contenuto di un file esistente. Se desideri salvare i risultati di più comandi in un singolo file, utilizza invece l' operatore >> . Questo verrà aggiunto al file, quindi non perderai nessun output precedente che hai salvato.
Ad esempio, prova ad aggiungere informazioni di sistema alla fine del file appena creato. Basta eseguire uname -a su Linux/Mac - o il comando ver se sei su Windows - e aggiungere l' operatore >> insieme al percorso del file:
uname -a >> /path/to/file
Ripeti questo processo tutte le volte necessarie per continuare ad aggiungere l'output del comando alla fine del file.
Aggiungi l'output a un file
Esporta l'output sullo schermo e reindirizzalo su un file
Gli operatori > e >> non visualizzano l'output del comando sullo schermo, lo inviano semplicemente ad un file. Se vuoi inviare l'output a un file e visualizzarlo sullo schermo, usa il comando tee.
Per utilizzare il comando tee, inviare l'output da un altro comando a quel comando utilizzando l'operatore pipe, una barra verticale (|). Ad esempio, ecco come puoi inviare l'output del comando ls a tee utilizzando una pipe:
ls | tee /path/to/output.txt
Il comando tee invia quindi l'output sia allo schermo che al file specificato. Questa operazione sovrascriverà il file o creerà un nuovo file se non esiste, proprio come l' operatore > .
Per utilizzare il comando tee per stampare il risultato sullo schermo e aggiungerlo alla fine del file, aggiungi il flag -a prima del percorso del file, ad esempio:
uname -a | tee -a /path/to/output.txt
Vedrai l'output del comando sullo schermo e potrai utilizzare cat per verificare che anche tee lo abbia aggiunto al file:
Aggiungi l'output a un file utilizzando il comando tee