Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Linux lader dig gemme kommandoen output i filer som et middel til output omdirigering. Når du gemmer outputtet til en fil ved hjælp af > eller >> operatører, bliver outputtet omdirigeret uden information vist på terminalen.

Men hvad hvis du vil udskrive outputtet på skærmen og gemme det i en fil samtidigt? Selvom du ikke kan gøre det med output-omdirigeringsoperatørerne, er det muligt at gøre det ved at bruge tee-kommandoen på Linux.

Grundlæggende kommandosyntaks

tee er et standard Linux-værktøj, der bruges til at opdele outputtet af en kommando mellem standardoutputtet og filer.

I modsætning til de fleste Linux-kommandoer bruges tee med andre programmer, der bruger en pipe (|). Røroperatøren - en af ​​de mange kommandolinjeoperatører på Linux – lader et program bruge en anden kommandos output som input. Du har muligvis brugt pipe, mens du brugte grep ved siden af ls kommandoen eller kat.

instagram viewer

Den grundlæggende syntaks for tee-kommandoen er:

kommando | tee muligheder filsti

...hvor muligheder og filsti er kommandolinjeargumenterne og stien til den fil, du vil gemme outputtet i.

Split Terminal Output på Linux Med T-shirt

Den enkleste brug af tee er at opdele outputtet for at vise det i terminalen samt gemme det i en fil. For eksempel at gemme output fra ls-kommandoen til en tekstfil med navnet "output.txt," løb:

ls | tee ./output.txt

Outputtet vil vise indholdet af den nuværende arbejdsmappe som normalt. Når du tjekker filen output.txt, vil du opdage, at tee også har gemt outputtet i filen.

Når du angiver en filsti, kontrollerer tee, om filen findes. Hvis den ikke finder en, opretter den automatisk filen for dig, hvilket gør den praktisk at bruge i shell-scripts. Det er nyttigt, når du vil logge output fra et program eller script til senere reference.

Du bliver nødt til at indlede tee-kommandoen med sudo for at læse eller gemme data til en fil, der ejes af root-brugeren.

Hvis den angivne fil har data gemt indeni, som du ikke ønsker at overskrive, skal du bruge -en flag til Tilføj outputtet til filen, i stedet for at rydde hele filen og derefter gemme dataene:

ls | tee -a ./output.txt

På samme måde kan du omdirigere outputtet til flere filer ved at angive stierne, adskilt af enkelte mellemrum:

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

Nogle gange kan uventede fejl eller manuelle afbrydelser (vha Ctrl + C eller Ctrl + Z) i den tidligere kommando kan få tee til at afslutte. For at ignorere sådanne afbrydelser skal du bruge -jeg flag:

ls | tee -i output.txt

Til få kommandolinjehjælp angående tee eller find versionsdetaljerne, brug --Hjælp og --version flag som følger:

tee --hjælp
tee --version

Omdirigere output til en anden kommando

Du kan oprette en outputkæde ved at oversætte andre Linux-kommandoer. Hvis du gør det, gemmes outputtet til den angivne fil og derefter sendes det videre til den næste kommando til behandling.

Brug følgende format til at omdirigere tee's output til en anden kommando:

kommando | tee filsti | anden kommando

For eksempel vil følgende kommando gemme ls-kommandoen output til output.txt før du endelig omdirigerer den til grep for en hurtig søgning:

ls | tee output.txt | grep "Dokumenter"

Generelt kan du bruge tee-kommandoen til at lege med standard input og output på Linux.

Manipulering af output og tekst med Linux-kommandoer

Tee-kommandoen tilføjer tiltrængt funktionalitet til standard output-omdirigeringsoperatørerne på Linux. Du kan endda bruge det til at manipulere outputtet af en kommando, før du sender det videre til et andet program.

På samme måde kan du ændre tekst ved hjælp af terminalen ved hjælp af nogle standard Linux-kommandoer. De kan tage lidt tid at vænne sig til, men i sidste ende er tekstmanipulation via kommandolinjen værd at lære for enhver systemadministrator.