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.
C'è un limite a quanto puoi scaricare da Netflix per la visualizzazione offline?
Netflix ha recentemente introdotto una funzionalità di benvenuto: puoi scaricare i film e gli spettacoli di Netflix per la visualizzazione offline successiva. Ma c'è un limite alla quantità di contenuti che puoi scaricare? Poco dopo l'uscita di questa funzione, abbiamo iniziato a riflettere: esattamente quanto potrebbe immagazzinare?
Come ottenere noleggi gratuiti di film e altri premi dal tuo Chromecast o da Google Home
Google ha fatto un buon lavoro facendosi un nome nel gioco dell'hardware e non sto parlando di i telefoni Pixel qui-sto parlando di Chromecast e Google Home. Entrambi i dispositivi sono utili, convenienti e tra i migliori in quello che fanno. Come se non bastasse, puoi anche ottenere schwag gratuiti da Google semplicemente possedendo uno (o più) di questi prodotti.