Quando si esegue un comando al prompt di bash, normalmente viene stampato l'output di quel comando comando direttamente al 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 poterlo rivedere in un secondo momento.
Funziona in bash su qualsiasi sistema operativo, da Linux e macOS a Windows 10 di Ubuntu- ambiente bash
Per utilizzare il reindirizzamento bash, si esegue un comando, si specifica l'operatore>
o>>
e 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 a 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 comandols
elenca i file e le cartelle nella directory corrente. Così. quando si esegue 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> / percorso / su / file
Non è necessario specificare il percorso di un file esistente. Specifica un percorso valido e bash creerà un file in quella posizione.
Se visualizzi il contenuto del file, vedrai l'output del comandols
. Ad esempio, il comandocat
stampa il contenuto di un file sul terminale:
cat / percorso / su / file
Ricorda, l'operatore
sostituisce i contenuti esistenti del file con l'output del comando. Se si desidera salvare l'output di più comandi in un singolo file, si utilizzerà invece l'operatore>
. Ad esempio, il seguente comando aggiungerà le informazioni di sistema al file specificato:>>
uname -a >> / percorso / su / 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 mantenere l'output in coda alla fine del file.
Potresti non come reindirizzare l'output con gli operatori>
o>>
, poiché non vedrete l'output del comando nel terminale. Ecco a cosa serve il comandotee
. Il comando tee stampa l'input che riceve sullo schermo e lo salva in un file allo stesso tempo.
Per inviare l'output di un comando at
, stamparlo su lo schermo e salvandolo su un file, utilizzare la seguente sintassi:
comando | tee / percorso / su / file
Questo sostituirà qualsiasi cosa nel file con l'output del comando, proprio come l'operatore>
.
Per inviare l'output di un comando atee
, per stampare sullo schermo e salvarlo in un file, ma aggiungendolo alla fine del file:
comando | tee -a / percorso / su / file
Questo aggiungerà l'output alla fine del file, proprio come l'operatore>>
.
CORRELATO: Guida per principianti alla shell Scripting: Nozioni di base
La shell bash include alcuni operatori avanzati aggiuntivi che svolgono funzioni simili. Saranno particolarmente utili se stai scrivendo script di bash. Consulta il capitolo Redirezione I / O nella Guida avanzata di scripting di Bash per informazioni più dettagliate.
Come ripulire il tuo feed di notizie di Facebook in pochi tocchi
Su Facebook, il News Feed è il re. Gli algoritmi dietro controllano quali post vedi dai tuoi amici e dai tuoi amici frenetici. Ogni piccola azione che fai su Facebook viene tracciata e viene presa in considerazione per determinare quali post visualizzare per primi. CORRELATI: Come funziona l'algoritmo di ordinamento di Facebook Algoritmo di ordinamento A volte però, Facebook sbaglia.
Come usare Google Home per ricordare dove mettere le cose
Google Home può aiutarti a ricordare cose importanti, come dove hai messo il tuo passaporto o quale è la tua password Wi-Fi. Ecco come usarlo per ricordare tutte le cose che dimentichi costantemente. Il nuovo comando "ricorda" ti permette di fare note verbali su cose specifiche che probabilmente dimenticherai.