I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Linux consente di memorizzare l'output del comando in file come mezzo di reindirizzamento dell'output. Quando si salva l'output in un file utilizzando l'estensione > O >> operatori, l'output viene reindirizzato senza informazioni visualizzate sul terminale.

Ma cosa succede se si desidera stampare l'output sullo schermo e memorizzarlo in un file contemporaneamente? Sebbene non sia possibile farlo con gli operatori di reindirizzamento dell'output, è possibile farlo utilizzando il comando tee su Linux.

Sintassi di comando di base

tee è un'utilità Linux standard utilizzata per dividere l'output di un comando tra l'output standard e i file.

A differenza della maggior parte dei comandi Linux, tee viene utilizzato con altri programmi che utilizzano una pipe (|). L'operatore del tubo, uno dei molti operatori della riga di comando

instagram viewer
su Linux: consente a un programma di utilizzare l'output di un altro comando come input. Potresti aver usato pipe mentre usavi accanto grep il comando ls o gatto.

La sintassi di base del comando tee è:

comando | tee opzioni percorso file

...Dove opzioni E percorso del file sono gli argomenti della riga di comando e il percorso del file in cui vuoi memorizzare l'output.

Split Terminal Output su Linux con tee

L'uso più semplice di tee è dividere l'output per visualizzarlo nel terminale e memorizzarlo all'interno di un file. Ad esempio, per memorizzare l'output del comando ls in un file di testo denominato "uscita.txt," correre:

ls | tee ./output.txt

L'output visualizzerà il contenuto della directory di lavoro attuale come di consueto. Controllando il file output.txt, scoprirai che anche tee ha salvato l'output nel file.

Quando specifichi un percorso file, tee controlla se il file esiste. Se non ne trova uno, crea automaticamente il file per te, rendendolo conveniente per l'uso negli script di shell. È utile quando si desidera registrare l'output di un programma o di uno script per riferimenti successivi.

Dovrai far precedere il comando tee da sudo per leggere o archiviare i dati in un file di proprietà dell'utente root.

Se il file specificato contiene dati memorizzati che non si desidera sovrascrivere, utilizzare l'estensione -UN bandiera a aggiungere l'output nel file, invece di cancellare l'intero file e quindi salvare i dati:

ls | tee -a ./output.txt

Allo stesso modo, puoi reindirizzare l'output su più file specificando i percorsi, separati da singoli spazi:

ls | tee ./output1.txt ./output2.txt

A volte, errori imprevisti o interruzioni manuali (utilizzando CTRL+C O CTRL+Z) nel comando precedente può causare l'uscita da tee. Per ignorare tali interruzioni, utilizzare il file -io bandiera:

ls | tee -i output.txt

A ottenere l'aiuto della riga di comando per quanto riguarda tee o trova i dettagli della versione, usa il --aiuto E --versione bandiere come segue:

tee --aiuto
tee --versione

Reindirizzamento dell'output a un altro comando

Puoi creare una catena di output eseguendo il piping a tee con altri comandi Linux. In questo modo si salverà l'output nel file specificato e quindi lo passerà al comando successivo per l'elaborazione.

Usa il seguente formato per reindirizzare l'output di tee a un altro comando:

comando | tee percorso file | altrocomando

Ad esempio, il seguente comando salverà l'output del comando ls in uscita.txt prima di reindirizzarlo finalmente a grep per una rapida ricerca:

ls | tee output.txt | grep "Documenti"

Nel complesso, puoi usare il comando tee con cui giocare l'input e l'output standard su Linux.

Manipolare l'output e il testo con i comandi di Linux

Il comando tee aggiunge funzionalità molto necessarie agli operatori di reindirizzamento dell'output standard su Linux. Puoi persino usarlo per manipolare l'output di un comando prima di passarlo a un altro programma.

Allo stesso modo, puoi modificare il testo usando il terminale con l'aiuto di alcuni comandi standard di Linux. Potrebbero volerci del tempo per abituarsi, ma alla fine vale la pena imparare la manipolazione del testo tramite la riga di comando per qualsiasi amministratore di sistema.