Contents

Så här sparar du kommandoradsutdata till fil på Windows, Mac och Linux

När du kör ett terminalkommando skrivs utdata vanligtvis ut i terminalen, så att du kan läsa det direkt. Ibland vill du dock spara utdata för att analysera den senare eller kombinera den med ett annat verktyg.

Du kan omdirigera utdata från ett kommando i operativsystemet till en angiven textfil genom att använda omdirigering av utdata på kommandoraden. Upptäck metoden för att styra resultatet av ett kommando till en fil i Windows, macOS och Linux.

Omdirigera utdata från kommandoraden till en fil

operatorn “>” och operatorn “”". Båda har liknande syften, men det är viktigt att förstå skillnaderna mellan dem för att förhindra oavsiktlig dataförlust.

Symbolen används för att antingen skapa en ny fil eller skriva över en fil som redan finns. Det dubbla tecknet för större än (") gör det däremot möjligt att skapa en ny fil om den inte redan finns, men det går inte att skriva över redan existerande filer. I de fall en fil redan existerar kommer den att lägga till innehållet i dess slutsats snarare än att ersätta alla aktuella data.

Ange först det önskade kommandot, använd sedan antingen symbolen för större än “>” eller högerpilen “”’ beroende på om du vill skriva över en befintlig fil eller lägga till innehåll, och ange slutligen den filsökväg dit du vill att utdata ska skickas. Som exempel kan du spara listan över objekt som visas av

 ls > /path/to/file 

Ändra filen som finns på “/path/to/file” genom att ange dess fullständiga sökväg som ersättning för

För att komma åt innehållet i en viss fil i din terminalmiljö kan du använda kommandot “cat” tillsammans med angivelsen av den fullständiga katalogvägen som leder till filen i fråga. Det är viktigt att notera att “/path/to/file” bör ersättas med en korrekt representation av filens plats för korrekt utförande av operationen.

 cat /path/to/file 

Du bör se resultatet av kommandot i ditt uppdaterade dokument:

/sv/images/redirecting-ouput-of-ls-into-a-file.jpg

Symbolen “>” används för att skriva över innehållet i en befintlig fil med den utdata som genereras av ett kommando eller en serie kommandon. Om du däremot vill bevara alla tidigare utförda kommandon och deras utdata i en enda fil utan avbrott, rekommenderas att du använder operatorn """ som lägger till nya data i filen istället för att ersätta hela den.

Att införliva systeminformation i den tidigare genererade filen är ett bra tillvägagångssätt.För att uppnå detta, kör kommandot “uname -a” i Linux- eller Mac-operativsystem, eller alternativt använd kommandot “ver” för Windows-system. Efter det, införliva """ operatören tillsammans med sökvägen till filen, som visas nedan:

 uname -a >> /path/to/file 

För att fortsätta uppdatera innehållet i en loggfil på obestämd tid, upprepa åtgärden att lägga till nya kommandoutdata i slutet av filen för det antal upprepningar som anses nödvändigt. Detta möjliggör en kontinuerlig registrering av händelser eller data i den angivna filen.

/sv/images/appending-output-to-a-file.jpg

Skriv utdata på skärmen och omdirigera det till en fil

Omdirigerarna ‘<’ och ‘>’ visar inte resultatet av ett kommando i terminalen, utan sparar det i en fil. Använd kommandot ’tee’ om du vill se både resultatet som sparas i filen och resultatet som visas på skärmen samtidigt.

För att använda kommandot “tee” måste man omdirigera utdata som genereras av ett annat kommando till det via rörsymbolen, som visas som ett vertikalt streck ("|"). Som en illustration kan du titta på följande exempel där resultaten från kommandot “ls” skickas till kommandot “tee” för bearbetning:

 ls | tee /path/to/output.txt 

Genom att använda kommandot tee kan man både visa utdata på terminalen och samtidigt skriva till en angiven fil. I likhet med omdirigering av utdata med symbolen större än ( > ), skrivs målfilen över om den redan finns eller skapas en ny om den inte finns.

Om du vill använda kommandot “tee” för att visa utdata på skärmen och samtidigt lägga till det i slutet av en angiven fil, bör du inkludera flaggan “-a” före sökvägen till filen, vilket visas av följande syntax:

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

Du kommer att se resultatet av kommandot på skärmen och använda kommandot “cat” för att bekräfta att “tee” också har inkluderat det i dokumentet.

/sv/images/appending-output-to-a-file-with-the-tee-command.jpg

Utnyttja kommandoradens möjligheter

Med hjälp av kommandoradens mångsidighet finns det många metoder för att styra både standardutdata och felmeddelanden till filer. Detta ger möjlighet till förbättrad övervakning av systemhändelser, integrering av information från flera källor och mycket mer.

Förutom att bara lagra utdata, erbjuder terminalen ett brett spektrum av möjligheter. Även om det kan vara svårt att tillägna sig kunskaperna i början, är kommandoradsinstruktionerna mångsidiga, kombinerbara och ofta snabbare än motsvarande instruktioner i grafiska användargränssnitt.