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.
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.