Når du utfører en kommando i terminalen, vises som regel resultatet direkte på skjermen. Dette gir deg umiddelbar tilbakemelding. Likevel kan det være situasjoner der du heller vil lagre dette resultatet. Det kan være for å analysere det senere, eller for å bruke det sammen med andre verktøy.
Dette er mulig med det som kalles utdataomdirigering via kommandolinjen. La oss se nærmere på hvordan du kan sende utdata fra en kommando til en tekstfil i Windows, macOS og Linux.
Omdirigering av kommandolinjeutdata til en fil
Det finnes to operatorer som brukes for å omdirigere utdata fra en kommando til en fil: >>
og >
. Det er viktig å forstå forskjellen for å unngå uønsket tap av data.
Operatoren >
skaper en ny fil, eller overskriver en eksisterende fil. Operatoren >>
lager også en ny fil om den ikke eksisterer, men overskriver ikke en eksisterende fil. Hvis filen finnes fra før, vil den legge til den nye teksten på slutten.
For å omdirigere utdata fra en kommando, skriver du kommandoen, så enten operatoren >
eller >>
, og til slutt stien til filen du vil bruke. For eksempel kan du lagre resultatet av ls
-kommandoen, som viser innholdet i en mappe, på denne måten:
ls > /sti/til/fil
Bytt ut /sti/til/fil
med den fullstendige stien til filen du vil bruke. Kommandoen vil kjøre uten å vise noe, og lagre utdataene i filen.
For å vise innholdet i filen i terminalen, kan du bruke cat
-kommandoen. Husk å bytte ut /sti/til/fil
med den korrekte filstien:
cat /sti/til/fil
Da ser du innholdet fra kommandoen i filen:
Operatoren >
vil altså erstatte alt innhold i en eksisterende fil. Hvis du vil lagre utdata fra flere kommandoer i samme fil, bruk operatoren >>
istedenfor. Denne vil legge til data på slutten av filen, slik at ingenting går tapt.
La oss si du vil legge til systeminformasjon i filen du nettopp opprettet. Du kan bruke uname -a
på Linux/macOS, eller ver
på Windows, og bruke operatoren >>
med filstien:
uname -a >> /sti/til/fil
Gjenta denne prosessen så mange ganger du trenger for å fortsette å legge til kommandoresultater på slutten av filen.
Vis utdata på skjermen samtidig som det lagres i en fil
Operatorene >
og >>
viser ikke utdata fra en kommando på skjermen, de sender det bare til en fil. Hvis du vil se utdata på skjermen samtidig som det lagres i en fil, kan du bruke tee
-kommandoen.
For å bruke tee
-kommandoen, sender du utdata fra en annen kommando til den ved hjelp av en pipe-operator (|
). For eksempel, slik sender du utdata fra ls
-kommandoen til tee
:
ls | tee /sti/til/output.txt
tee
-kommandoen vil nå sende utdata til skjermen og til filen du spesifiserte. Dette overskriver filen eller lager en ny, akkurat som >
operatoren.
Hvis du vil bruke tee
-kommandoen til å vise utdata på skjermen og legge det til på slutten av en fil, legger du til flagget -a
foran filstien, slik:
uname -a | tee -a /sti/til/output.txt
Da ser du resultatet av kommandoen på skjermen, og du kan bruke cat
for å bekrefte at tee
har lagt det til i filen:
Utnytt kraften i kommandolinjen
Det finnes mange andre metoder for å omdirigere utdata, inkludert feilmeldinger, til en fil. Med kraften i kommandolinjen kan du overvåke systemaktivitet, kombinere data fra flere kilder, og mye mer.
I tillegg til å lagre utdata, er det utallige muligheter i terminalen. Selv om læringskurven kan være bratt, er terminalkommandoer uttrykksfulle, sammensettbare og ofte raskere enn grafiske brukergrensesnitt.