Come salvare l'output di un comando in un file in Bash (ovvero il terminale Linux e macOS)

Sommario:

Come salvare l'output di un comando in un file in Bash (ovvero il terminale Linux e macOS)
Come salvare l'output di un comando in un file in Bash (ovvero il terminale Linux e macOS)

Video: Come salvare l'output di un comando in un file in Bash (ovvero il terminale Linux e macOS)

Video: Come salvare l'output di un comando in un file in Bash (ovvero il terminale Linux e macOS)
Video: Vi insegno a fare i cavi di rete ! TUTORIAL pinza crimpatrice VCE RJ45 connettori passanti - YouTube 2024, Aprile
Anonim
Quando si esegue un comando al prompt di bash, normalmente stampa l'output di quel comando direttamente sul terminale in modo da poterlo leggere immediatamente. Ma bash consente anche di "reindirizzare" l'output di qualsiasi comando, salvandolo in un file di testo in modo da poter rivedere l'output in un secondo momento.
Quando si esegue un comando al prompt di bash, normalmente stampa l'output di quel comando direttamente sul terminale in modo da poterlo leggere immediatamente. Ma bash consente anche di "reindirizzare" l'output di qualsiasi comando, salvandolo in un file di testo in modo da poter rivedere l'output in un secondo momento.

Questo funziona in bash su qualsiasi sistema operativo, da Linux e macOS all'ambiente bash basato su Ubuntu di Windows 10.

Opzione uno: reindirizzare l'output su un solo file

Per utilizzare il reindirizzamento bash, si esegue un comando, specificare il

>

o

>>

operatore, quindi fornire il percorso di un file a cui si desidera reindirizzare l'output.

  • >

    reindirizza l'output di un comando in un file, sostituendo il contenuto esistente del file.

  • >>

    reindirizza l'output di un comando in un file, aggiungendo l'output ai contenuti esistenti del file.

Tecnicamente, questo reindirizza lo "stdout": l'output standard, che è lo schermo, in un file.

Ecco un semplice esempio. Il

ls

comando elenca file e cartelle nella directory corrente. Così. quando esegui il seguente comando,

ls

elencherà i file e le cartelle nella directory corrente. Ma non li stamperà sullo schermo: li salverà nel file specificato.

ls > /path/to/file

Non è necessario specificare il percorso di un file esistente. Specificare un percorso valido e bash creerà un file in quella posizione.

Se visualizzi il contenuto del file, vedrai il
Se visualizzi il contenuto del file, vedrai il

ls

l'output del comando. Ad esempio, il

cat

comando stampa il contenuto di un file sul terminale:

cat /path/to/file

Ricorda il
Ricorda il

>

l'operatore sostituisce il contenuto esistente del file con l'output del comando. Se si desidera salvare l'output di più comandi in un singolo file, si utilizzerà il

>>

operatore invece. Ad esempio, il seguente comando aggiungerà le informazioni di sistema al file specificato:

uname -a >> /path/to/file

Se il file non esiste già, bash creerà il file. In caso contrario, bash lascerà da solo il contenuto esistente del file e aggiungerà l'output alla fine del file.

Quando visualizzi il contenuto del file, vedrai i risultati del tuo secondo comando aggiunti alla fine del file:

Puoi ripetere questo processo tutte le volte che vuoi per continuare ad aggiungere l'output alla fine del file.
Puoi ripetere questo processo tutte le volte che vuoi per continuare ad aggiungere l'output alla fine del file.

Opzione due: stampa normalmente l'output e reindirizza a un file

Potrebbe non piacerti reindirizzare l'output con

>

o

>>

operatori, poiché non vedrete l'output del comando nel terminale. Questo è ciò che

tee

il comando è per. Il comando tee stampa l'input che riceve sullo schermo e lo salva in un file allo stesso tempo.

Per reindirizzare l'output di un comando a

tee

stampandolo sullo schermo e salvandolo in un file, utilizzare la seguente sintassi:

command | tee /path/to/file

Questo sostituirà qualsiasi cosa nel file con l'output del comando, proprio come il

>

operatore.

Per reindirizzare l'output di un comando a
Per reindirizzare l'output di un comando a

tee

stampando sullo schermo e salvandolo in un file, ma aggiungendolo alla fine del file:

command | tee -a /path/to/file

Questo aggiungerà l'output alla fine del file, proprio come il

>>

operatore.

Consigliato: