logo

Comando Linux tee

Il comando tee di Linux è abbastanza simile al comando 'cat', con una sola differenza. Mette stdin su stdout e li inserisce anche in un file. È uno dei comandi più utilizzati insieme ad altri comandi tramite piping. Ci consente di scrivere tutto ciò che viene fornito dall'input std all'output std. Facoltativamente, fornisce la scrittura su uno o più file. Il nome del comando tee deriva dallo splitter a T utilizzato negli impianti idraulici.

Sintassi:

 tee 

Opzioni:

Di seguito sono riportate alcune opzioni utili che possono essere utilizzate con il comando tee per renderlo più specifico:

-a, --aggiungi: Viene utilizzato per aggiungere i dati ai file specificati, non sovrascrive i dati.

-i, --ignore-interrupt: Viene utilizzato per ignorare i segnali di interruzione.

trova nella stringa c++

-P: Viene utilizzato per diagnosticare errori di scrittura su non-pipe.

--output-errore[=MODALITÀ]: Viene utilizzato per impostare il comportamento in modalità errore di scrittura.

--aiuto: Viene utilizzato per visualizzare la documentazione della guida.

--versione: viene utilizzato per visualizzare le informazioni sulla versione.

Esempi del comando tee

Vediamo i seguenti esempi del comando tee:

Come utilizzare il comando tee

Il comando tee viene utilizzato per scrivere un input standard su un output standard e un file. Viene utilizzato dopo una pipa. Per scrivere sull'output standard e su un file, specificare il comando tee dopo una pipe e fornire il nome del file. Considera il comando seguente:

 cat weeks.txt | tee newfile.txt 

Il comando precedente scriverà l'input di 'weeks.txt' in 'newfile.txt'. Considera l'output seguente:

Filtri per tee Linux

Dall'output precedente, viene creato un file 'newfile.txt' utilizzando il comando tee.

Scrivi un file e aggiungi l'output

L'opzione '-a' viene utilizzata con il comando tee per aggiungere l'output e scriverlo in un file. Considera il comando seguente:

 echo 'Saturday and Sunday are week offs' | tee -a newfile.txt 

Il comando precedente aggiungerà l'input specificato a 'newfile.txt'. Considera l'output seguente:

Filtri per tee Linux

Dall'output precedente, l'input specificato viene aggiunto a 'newfile.txt'.

java math.random

Scrivere lo stato dei dati in un file

Scrivere lo stato dei dati è molto utile per eseguire il backup o creare uno snapshot dei dati a scopo di debug. Può essere fatto facilmente usando il comando tee.

Per scrivere lo stato dei dati in un file, eseguire il comando seguente:

 ls ~/ | tee pipe1.txt | grep ^b | tee pipe2.txt | sort -r 

Il comando precedente scriverà i dati in pipe1.txt. Considera l'output seguente:

Filtri per tee Linux

Dall'output precedente, lo snap dei dati della directory di lavoro corrente viene archiviato in 'newfile.txt'.

Scrivi su più file

Il comando tee ci consente di scrivere su più file. Per scrivere su più file, specificare i nomi dei file dopo il comando tee come segue:

 echo ' add text' | tee file1.txt file2.txt file3.txt 

Il comando precedente creerà tutti i file specificati. Considera l'output seguente:

Filtri per tee Linux

Scrive in un file privilegiato

Il comando tee ci consente di scrivere su un file con privilegio sudo. Se proviamo a scrivere un file di proprietà dell'utente root, verrà visualizzato un errore di autorizzazione. Ma possiamo elevare l'autorizzazione sudo eseguendo il comando tee come segue:

potatura a-b
 echo 'some text' | sudo tee -a 

Ignorare gli interrupt

L'opzione '-i' viene utilizzata per ignorare gli interrupt. Ciò è utile se vogliamo interrompere e uscire con garbo dal comando durante l'esecuzione. Viene utilizzato come segue:

 command | tee -i 

Nascondi l'output

Per limitare il comando tee a non scrivere sullo standard output, reindirizzarlo a '/dev/null'. Esegui il comando come segue:

 echo 'Text' | tee newfile.txt >/dev/null 

Considera l'output seguente:

Filtri per tee Linux