DevOps-bootcamp · Lektion

Omdirigering av in- och utdata (>, >>, <)

Bemästra omdirigering av kommandoutdata till filer och användning av filer som indata till kommandon för mer flexibla skript.

Lektion 2 av 412 steg

Omdirigering av in- och utdata (>, >>, <) är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad är I/O-omdirigering?

I Linux ger kommandon ofta upphov till utdata eller kräver indata. Med omdirigering av indata/utdata (I/O) kan du ändra var ett kommando hämtar sin indata från eller skickar sin utdata till.

I stället för att bara visa utdata på skärmen (i terminalen) kan du spara den i en fil eller till och med skicka innehållet i en fil direkt till ett annat kommando.

Förstå standardströmmar

Varje Linux-kommando interagerar med tre ”standardiserade” dataströmmar:

  • Standardindata (STDIN): Där ett kommando förväntar sig att ta emot indata, vanligtvis från tangentbordet.
  • Standardutdata (STDOUT): Dit ett kommando skickar sin normala utdata, vanligtvis till skärmen.
  • Standardfel (STDERR): Dit ett kommando skickar felmeddelanden, också vanligtvis till skärmen.

Med omdirigering kan vi ändra dessa förvalda mål eller källor.

Fånga utdata med '>'

Operatorn > används för att omdirigera ett kommandos standardutdata (STDOUT) till en fil. I stället för att skriva ut utdata på skärmen skrivs den till den angivna filen.

Viktigt: Om filen redan finns skriver > över hela innehållet med den nya utdatan. Var försiktig så att du inte råkar radera viktiga data!

Exempel: Spara kommandoutdata

Vi sparar resultatet från kommandot ls -l i en fil med namnet my_files.txt. Sedan visar vi filens innehåll med cat.

ls -l > my_files.txt
cat my_files.txt

Lägga till i en fil med '>>'

Ibland vill du inte skriva över en fil, utan lägga till nytt innehåll i slutet av den. Det är då operatorn >> kommer till användning!

>> omdirigerar standardutdata (STDOUT) till en fil. Om filen redan finns läggs den nya utdatan till i slutet, så att det befintliga innehållet bevaras.

Exempel: Lägga till i en logg

Skapa först en enkel fil. Använd sedan >> för att lägga till ytterligare en rad i den. Observera att det ursprungliga innehållet finns kvar.

echo "First line of log." > app_log.txt
echo "Second line added." >> app_log.txt
cat app_log.txt

Hantera fel med '2>'

Vad händer då med felmeddelanden? De skickas till standardfel (STDERR). Om du vill omdirigera STDERR till en fil använder du filbeskrivaren 2 följd av operatorn >: 2>.

Detta är mycket användbart när du vill logga fel utan att göra den huvudsakliga utdatan svåröverskådlig eller när du felsöker skript.

Exempel: Logga felmeddelanden

Vi försöker lista en katalog som inte finns. Felmeddelandet visas normalt på skärmen. I stället omdirigerar vi det till errors.log.

ls /this/path/does/not/exist 2> errors.log
echo "Command finished. Check errors.log."
cat errors.log

Tillhandahålla indata med '<'

Operatorn < används för att omdirigera standardindata (STDIN). I stället för att vänta på att du ska skriva indata från tangentbordet läser kommandot indata direkt från den angivna filen.

Detta är kraftfullt när du automatiserar uppgifter där ett kommando förväntar sig mycket indata eller när du vill bearbeta innehållet i en fil direkt.

Exempel: Sortera från en fil

Vi skapar en fil med osorterade namn och använder sedan kommandot sort för att läsa indata från filen med hjälp av <.

echo -e "Charlie\nAlice\nBob" > names.txt
sort < names.txt

Snabbtest: Omdirigering

Du har lärt dig att omdirigera standardutdata, lägga till utdata, hantera fel och läsa indata från filer. Nu testar vi dina kunskaper.

Sammanfattning: Kraften i I/O-omdirigering

Bra jobbat! Du har lärt dig grunderna i I/O-omdirigering i Linux.

  • > omdirigerar STDOUT och skriver över filer.
  • >> omdirigerar STDOUT och lägger till innehåll i filer.
  • 2> omdirigerar STDERR och fångar felmeddelanden.
  • < omdirigerar STDIN och gör det möjligt för kommandon att läsa från filer.

Dessa operatorer är mycket kraftfulla för skript, loggning och automatisering av uppgifter. Fortsätt öva!

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Omdirigering av in- och utdata (>, >>, <)” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Omdirigering av in- och utdata (>, >>, <)”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Omdirigering av in- och utdata (>, >>, <)”?

Bemästra omdirigering av kommandoutdata till filer och användning av filer som indata till kommandon för mer flexibla skript. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Omdirigering av in- och utdata (>, >>, <)”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Hantera processer (ps, top, kill)
  2. Omdirigering av in- och utdata (>, >>, <)
  3. Koppla ihop kommandon med pipes (|)
  4. Bakgrundsjobb och jobbkontroll
← Tillbaka till DevOps-bootcamp