Lagre terminalutdata til fil: Windows, Mac & Linux

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.