Android

Linux tee-opdracht met voorbeelden

Linux Command: 'tee' - Watch & Log Command Output

Linux Command: 'tee' - Watch & Log Command Output

Inhoudsopgave:

Anonim

Het tee commando leest van de standaardinvoer en schrijft naar zowel standaarduitvoer als een of meer bestanden tegelijkertijd. tee wordt meestal gebruikt in combinatie met andere commando's via piping.

In deze tutorial behandelen we de basisprincipes van het gebruik van de tee opdracht.

tee Opdrachtsyntaxis

De syntaxis voor het tee commando is als volgt:

tee

  • OPTIONS :
    • -a (- --append ) - overschrijf de bestanden niet, maar voeg ze toe aan de gegeven bestanden. -i ( --ignore-interrupts ) - Negeer interruptsignalen. Gebruik tee --help om alle beschikbare opties te bekijken.
    FILE_NAMES - Een of meer bestanden. Elk waarnaar de uitvoergegevens worden geschreven.

Hoe het tee commando te gebruiken

Het meest elementaire gebruik van de tee opdracht is om de standaarduitvoer ( stdout ) van een programma weer te geven en in een bestand te schrijven.

In het volgende voorbeeld gebruiken we de opdracht df om informatie op te vragen over de hoeveelheid beschikbare schijfruimte op het bestandssysteem. De uitvoer wordt doorgestuurd naar de tee opdracht, die de uitvoer naar de terminal weergeeft en dezelfde informatie naar het bestand 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

U kunt de inhoud van het bestand disk_usage.txt met de opdracht cat.

Schrijf naar meerdere bestanden

Het tee commando kan ook naar meerdere bestanden schrijven. Om dit te doen, geeft u een lijst met bestanden gescheiden door spatie als argumenten:

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

Toevoegen aan bestand

Standaard overschrijft de tee opdracht het opgegeven bestand. Gebruik de optie -a ( --append ) om de uitvoer aan het bestand toe te voegen:

command | tee -a file.out

Negeer Onderbreken

Om interrupts te negeren gebruikt u de optie `` -i ( –ignore-interrupts ) option. This is useful when stopping the command during execution with ) option. This is useful when stopping the command during execution with CTRL + C stopt and want tee` netjes wordt afgesloten.

command | tee -i file.out

Verberg de uitvoer

command | tee file.out >/dev/null

Tee gebruiken in combinatie met sudo

Stel dat u naar een bestand wilt schrijven dat eigendom is van root als een sudo-gebruiker. De volgende opdracht zal mislukken omdat de omleiding van de uitvoer niet door sudo wordt uitgevoerd. De omleiding wordt uitgevoerd als de onbevoegde gebruiker.

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

De uitvoer ziet er ongeveer zo uit:

bash: /etc/file.conf: Permission denied

Plaats sudo voor het tee commando zoals hieronder getoond:

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

tee ontvangt de uitvoer van het echo-commando, verhoogt naar sudo-machtigingen en schrijft naar het bestand.

Door tee in combinatie met sudo kunt u schrijven naar bestanden van andere gebruikers.

Conclusie

Het tee commando leest van standaardinvoer en schrijft het naar standaarduitvoer en een of meer bestanden.

Als u vragen of feedback heeft, kunt u een reactie achterlaten.

tee-aansluiting