Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Met Linux kun je de commando-uitvoer in bestanden opslaan als een manier om de uitvoer om te leiden. Wanneer u de uitvoer opslaat in een bestand met behulp van de > of >> operators, wordt de uitvoer omgeleid zonder dat er informatie op de terminal wordt weergegeven.

Maar wat als u de uitvoer op het scherm wilt afdrukken en tegelijkertijd in een bestand wilt opslaan? Hoewel je het niet kunt doen met de uitvoeromleidingsoperatoren, is het mogelijk om dit te doen met het tee-commando op Linux.

Basisopdrachtsyntaxis

tee is een standaard Linux-hulpprogramma dat wordt gebruikt om de uitvoer van een opdracht te splitsen tussen de standaarduitvoer en bestanden.

In tegenstelling tot de meeste Linux-commando's, wordt tee gebruikt met andere programma's die een pipe gebruiken (|). De pijpoperator - een van de veel opdrachtregeloperatoren op Linux: laat een programma de uitvoer van een ander commando als invoer gebruiken. Misschien heb je pipe gebruikt terwijl je grep ernaast gebruikte

het ls-commando of kat.

De basissyntaxis van het tee-commando is:

commando | tee opties bestandspad

...waar opties En bestandspad zijn de opdrachtregelargumenten en het pad naar het bestand waarin u de uitvoer wilt opslaan.

Splits Terminal-uitvoer op Linux met tee

Het eenvoudigste gebruik van tee is om de uitvoer te splitsen om deze in de terminal weer te geven en op te slaan in een bestand. Om bijvoorbeeld de uitvoer van het ls-commando op te slaan in een tekstbestand met de naam "uitvoer.txt," loop:

ls | tee ./uitvoer.txt

De uitvoer zal zoals gewoonlijk de inhoud van de huidige werkdirectory weergeven. Als je het bestand output.txt controleert, zul je zien dat tee de uitvoer ook in het bestand heeft opgeslagen.

Wanneer u een bestandspad opgeeft, controleert tee of het bestand bestaat. Als het er geen vindt, maakt het automatisch het bestand voor u aan, waardoor het handig is voor gebruik in shell-scripts. Het is handig wanneer u de uitvoer van een programma of script wilt loggen voor later gebruik.

U moet het tee-commando voorafgaan met sudo om gegevens te lezen of op te slaan in een bestand dat eigendom is van de rootgebruiker.

Als het opgegeven bestand gegevens bevat die u niet wilt overschrijven, gebruikt u de -A vlag naar toevoegen de uitvoer naar het bestand, in plaats van het hele bestand te wissen en vervolgens de gegevens op te slaan:

ls | tee -a ./output.txt

Op dezelfde manier kunt u de uitvoer omleiden naar meerdere bestanden door de paden op te geven, gescheiden door enkele spaties:

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

Soms kunnen onverwachte fouten of handmatige onderbrekingen (met behulp van Ctrl+C of Ctrl+Z) in het vorige commando kan ervoor zorgen dat tee stopt. Om dergelijke onderbrekingen te negeren, gebruikt u de -i vlag:

ls | tee -i uitvoer.txt

Naar krijg hulp via de opdrachtregel met betrekking tot tee of vind de versiedetails, gebruik de --hulp En --versie vlaggen als volgt:

tee --help
tee --versie

De uitvoer omleiden naar een ander commando

Je kunt een uitvoerketen maken door tee te pipen met andere Linux-commando's. Als u dit doet, wordt de uitvoer opgeslagen in het opgegeven bestand en vervolgens doorgegeven aan de volgende opdracht voor verwerking.

Gebruik het volgende formaat om de uitvoer van tee om te leiden naar een ander commando:

commando | tee bestandspad | andere opdracht

Met de volgende opdracht wordt bijvoorbeeld de ls-opdrachtuitvoer opgeslagen in uitvoer.txt voordat je het uiteindelijk omleidt naar grep voor een snelle zoekopdracht:

ls | tee uitvoer.txt | grep "Documenten"

Over het algemeen kun je het tee-commando gebruiken om mee te spelen de standaard invoer en uitvoer op Linux.

Uitvoer en tekst manipuleren met Linux-opdrachten

De opdracht tee voegt de broodnodige functionaliteit toe aan de standaard uitvoeromleidingsoperators op Linux. U kunt het zelfs gebruiken om de uitvoer van een opdracht te manipuleren voordat u deze doorgeeft aan een ander programma.

Evenzo kunt u tekst wijzigen met behulp van de terminal met behulp van enkele standaard Linux-commando's. Het kan enige tijd duren om eraan te wennen, maar uiteindelijk is tekstmanipulatie via de opdrachtregel de moeite waard om te leren voor elke systeembeheerder.