Hantera utdata från terminalkommandon
När du utför ett kommando i terminalen, visas resultatet normalt direkt i fönstret. Detta är praktiskt för direkt visning. Men ibland kan det vara nödvändigt att spara resultaten för att analysera dem vid ett senare tillfälle eller för att använda dem med andra verktyg.
Detta kan enkelt åstadkommas genom att omdirigera utdata från kommandoraden. Här går vi igenom hur du kan lagra utdata från ett kommando i en textfil på operativsystemen Windows, Mac och Linux.
Lagra kommandoradsutdata i en fil
Det finns två speciella symboler, >>
och >
, som används för att omdirigera utdata från ett kommando till en fil. Det är viktigt att förstå skillnaden mellan dessa två för att undvika att oavsiktligt förlora data.
Symbolen >
skapar antingen en ny fil eller, om filen redan existerar, skriver över den befintliga filen med den nya utdatan. Symbolen >>
skapar också en ny fil om den inte existerar. Om filen redan finns, lägger den istället till den nya utdatan i slutet av filen utan att skriva över det tidigare innehållet.
För att omdirigera utdata, skriv kommandot, följt av antingen >
eller >>
, och sedan sökvägen till filen där du vill spara utdatan. Till exempel, för att spara utdata från kommandot ls
, som listar innehållet i en mapp, gör du så här:
ls > /sökväg/till/fil
Byt ut /sökväg/till/fil
mot den fullständiga sökvägen till den fil du vill använda. Kommandot kommer att köras utan att visa utdata i terminalen, och resultatet kommer att sparas i den angivna filen.
För att visa filens innehåll i terminalen, kan du använda kommandot cat
. Återigen, ersätt /sökväg/till/fil
med den fullständiga sökvägen till filen du vill visa.
cat /sökväg/till/fil
Nu bör du kunna se utdata från kommandot som sparades i filen.
Observera att operatorn >
ersätter hela innehållet i en existerande fil. Om du vill samla utdata från flera kommandon i en och samma fil, bör du använda operatorn >>
istället. Detta kommer att lägga till utdatan i slutet av filen, och du undviker därmed att radera tidigare information.
Låt oss testa att lägga till systeminformation i slutet av filen du just skapade. Kör uname -a
på Linux/Mac eller ver
på Windows, och använd >>
-operatorn tillsammans med sökvägen till filen:
uname -a >> /sökväg/till/fil
Upprepa detta steg så många gånger som du behöver för att fortsätta lägga till utdata i filen.
Visa utdata i terminalen och spara det i en fil
Symbolerna >
och >>
visar inte resultatet av ett kommando i terminalen, utan skickar det bara direkt till en fil. Om du vill visa utdatan på skärmen samtidigt som du sparar det i en fil, kan du använda kommandot tee
.
För att använda tee
-kommandot, skicka utdatan från ett annat kommando till det genom att använda en så kallad pipe-operator (|
). Här är ett exempel där vi skickar utdata från ls
-kommandot till tee
:
ls | tee /sökväg/till/utdata.txt
Kommandot tee
kommer nu både att visa utdata i terminalen och spara det i den angivna filen. Precis som med >
kommer detta antingen att skriva över filen eller skapa en ny om den inte existerar.
Om du vill lägga till utdata i slutet av en befintlig fil, använder du tee
med flaggan -a
före filsökvägen, till exempel:
uname -a | tee -a /sökväg/till/utdata.txt
Du kommer att se kommandoutdatan i terminalen, och du kan använda cat
för att bekräfta att tee
även lagt till den i filen.
Använd kraften i kommandoraden
Det finns många andra sätt att omdirigera utdata, inklusive felmeddelanden, till en fil. Med kraften i kommandoraden kan du övervaka systemaktivitet, samla in data från flera källor och mycket mer.
Förutom att lagra utdata finns det många andra saker du kan göra i terminalen. Även om det kan finnas en inlärningskurva, är terminalkommandon uttrycksfulla, flexibla och ofta snabbare än grafiska gränssnitt.