Hur man sparar kommandoradsutdata till fil på Windows, Mac och Linux

När du kör ett terminalkommando kommer det vanligtvis att skriva ut utdata i terminalen, så att du kan läsa det direkt. Men ibland vill du spara resultatet för att analysera det senare eller kombinera det med ett annat verktyg.

Du kan göra detta med omdirigering av utdata på kommandoraden. Ta reda på hur du skickar utdata från ett kommando till en textfil på Windows, Mac och Linux.

Omdirigera kommandoradsutdata till en fil

Det finns två operatorer du kan använda för att omdirigera utdata från ett kommando till en fil: >> och >. Det är viktigt att du förstår skillnaden mellan de två för att undvika oavsiktlig dataförlust.

Symbolen > skapar en ny fil eller skriver över den om den redan finns. Operatorn >> skapar också en ny fil om den inte finns, men den kommer inte att skriva över en befintlig fil. Om filen redan finns kommer den att lägga till texten i slutet av den.

För att omdirigera utdata från ett kommando till en fil, skriv kommandot, ange sedan operatorn > eller >> och ange slutligen sökvägen till en fil som du vill omdirigera utdata till. Så här kan du till exempel spara utdata från kommandot ls, som listar innehållet i en katalog:

 ls > /path/to/file 

Ersätt /sökväg/till/fil med hela sökvägen till filen du vill använda. Kommandot körs tyst och lagrar utdata i filen du anger.

För att se innehållet i filen i din terminal kan du använda kommandot cat. Återigen, ersätt /sökvägen/till/filen med den fullständiga sökvägen till filen du vill visa.

 cat /path/to/file 

Du bör se utdata från kommandot i din nya fil:

Operatorn > ersätter innehållet i en befintlig fil. Om du vill spara utdata från flera kommandon till en enda fil, använd istället operatorn >>. Detta läggs till i filen, så att du inte förlorar någon tidigare utdata som du har sparat.

Testa till exempel att lägga till systeminformation i slutet av filen du just skapade. Kör helt enkelt uname -a på Linux/Mac—eller kommandot ver om du använder Windows—och lägg till >>-operatorn tillsammans med sökvägen till filen:

 uname -a >> /path/to/file 

Upprepa denna process så många gånger du behöver för att fortsätta lägga till kommandoutdata i slutet av filen.

Operatörerna > och >> visar inte resultatet av ett kommando på skärmen, de skickar det bara till en fil. Om du vill skicka utdata till en fil och se den på skärmen, använd kommandot tee.

För att använda tee-kommandot, skicka utdata från ett annat kommando till det med hjälp av röroperatören, en vertikal stapel (|). Så här kan du till exempel skicka utdata från kommandot ls till tee med hjälp av ett rör:

 ls | tee /path/to/output.txt 

Tee-kommandot skickar sedan utdata till skärmen och till filen du anger. Detta kommer att skriva över filen eller skapa en ny om den inte finns, precis som operatorn >.

För att använda kommandot tee för att skriva ut utdata till skärmen och lägga till det i slutet av en fil, lägg till flaggan -a före filsökvägen, till exempel:

 uname -a | tee -a /path/to/output.txt 

Du kommer att se kommandoutgången på din skärm och du kan använda cat för att verifiera att tee också har lagt till den i filen:

Dra fördel av kommandoradens kraft

Det finns många fler sätt att omdirigera utdata, inklusive fel, till en fil. Med kraften i kommandoraden kan du övervaka systemaktivitet, kombinera data från flera källor och mer.

Förutom att spara utdata finns det mycket mer du kan göra på terminalen. Även om inlärningskurvan kan vara brant, är terminalkommandon uttrycksfulla, komponerbara och ofta snabbare än GUI-alternativ.