androide

Comando tee Linux con esempi

Pipes, Grep, Sort Commands: Linux Tutorial 9

Pipes, Grep, Sort Commands: Linux Tutorial 9

Sommario:

Anonim

Il comando tee legge dallo standard input e scrive allo stesso tempo sia nello standard output che in uno o più file. tee viene utilizzato principalmente in combinazione con altri comandi tramite piping.

In questo tutorial, tratteremo le basi dell'uso del comando tee .

tee Sintassi del comando

La sintassi per il comando tee è la seguente:

tee

  • OPTIONS :
    • -a ( --append ) - Non sovrascrivere i file invece aggiungerli ai file dati. -i ( --ignore-interrupts ) - Ignora i segnali di interruzione. Usa tee --help per visualizzare tutte le opzioni disponibili.
    FILE_NAMES - Uno o più file. Ognuno dei quali vengono scritti i dati di output.

Come usare il comando tee

L'uso più basilare del comando tee è visualizzare l'output standard ( stdout ) di un programma e scriverlo in un file.

Nel seguente esempio, stiamo usando il comando df per ottenere informazioni sulla quantità di spazio disponibile su disco nel file system. L'output viene reindirizzato al comando tee , che visualizza l'output sul terminale e scrive le stesse informazioni nel file disk_usage.txt .

df -h | tee disk_usage.txt

Filesystem Size Used Avail Use% Mounted on dev 7.8G 0 7.8G 0% /dev run 7.9G 1.8M 7.9G 1% /run /dev/nvme0n1p3 212G 159G 43G 79% / tmpfs 7.9G 357M 7.5G 5% /dev/shm tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup tmpfs 7.9G 15M 7.9G 1% /tmp /dev/nvme0n1p1 511M 107M 405M 21% /boot /dev/sda1 459G 165G 271G 38% /data tmpfs 1.6G 16K 1.6G 1% /run/user/120

È possibile visualizzare il contenuto del file disk_usage.txt usando il comando cat.

Scrivi su più file

Il comando tee può anche scrivere su più file. Per fare ciò, specifica un elenco di file separati da spazio come argomenti:

command | tee file1.out file2.out file3.out

Aggiungi al file

Per impostazione predefinita, il comando tee sovrascriverà il file specificato. Utilizzare l'opzione -a ( --append ) per aggiungere l'output al file:

command | tee -a file.out

Ignora interruzione

Per ignorare gli interrupt usa l' ) option. This is useful when stopping the command during execution with `` -i ( –ignore-interrupt ) option. This is useful when stopping the command during execution with ) option. This is useful when stopping the command during execution with CTRL + C and want tee` esca con grazia.

command | tee -i file.out

Nascondi l'output

command | tee file.out >/dev/null

Utilizzo di tee in congiunzione con sudo

Supponiamo che tu voglia scrivere su un file di proprietà di root come utente sudo. Il seguente comando fallirà perché il reindirizzamento dell'output non viene eseguito da sudo. Il reindirizzamento viene eseguito come utente non privilegiato.

sudo echo "newline" > /etc/file.conf

L'output sarà simile al seguente:

bash: /etc/file.conf: Permission denied

Basta anteporre sudo prima del comando tee come mostrato di seguito:

echo "newline" | sudo tee -a /etc/file.conf

tee riceverà l'output del comando echo, eleverà per sudo autorizzazioni e scriverà nel file.

L'uso di tee in combinazione con sudo consente di scrivere su file di proprietà di altri utenti.

Conclusione

Il comando tee legge dallo standard input e lo scrive nello standard output e in uno o più file.

Se hai domande o feedback, non esitare a lasciare un commento.

terminale a T