Output-redirection og streams
Kapittel 5
Linux bruker såkalte streams for å styre input og output:
stdin (0) = standard input (som regel tastatur)
stdout (1) = standard output (vanligvis skjermen)
stderr (2) = standard error (feilmeldinger)
Grunnleggende bruk
ls > filelist.txt
Sender output fra ls til filen filelist.txt.
ls 1> filelist.txt
Samme som over, 1 er standard for stdout.
echo "This is a test" > testecho.txt
Oppretter eller overskriver filen med teksten.
ls fakefile 2> errorlog.txt
Sender feilmeldingen (stderr) til errorlog.txt.
Overskriving vs append
Enkel > Overskriver eksisterende fil.
Dobbel >> Legger til i en fil i stedet for å overskrive.
Eksempel:
echo "Ny linje" >> testecho.txt
Kombinere stdout og stderr
ls /etc /fakefolder > output.txt 2>&1
Både output og feil skrives til samme fil.
ls /etc /fakefolder 1> output.txt 2> error.txt
Output og feil skrives til hver sin fil.
Praktiske tips for logging
cp fil.txt /backup/ >> copy.log 2>&1
Logger både suksessmeldinger og feil til copy.log.
Legge til tidsstempel:
echo "$(date) – Starter kopi..." >> copy.log
cp fil.txt /backup/ >> copy.log 2>&1
echo "$(date) – Ferdig!" >> copy.log
Se output i sanntid og logg samtidig
ls -lh /etc | tee filelist.log
tee viser output på skjermen og lagrer til fil samtidig.
ls -lh /etc | tee -a filelist.log
-a betyr append, legger til i fil i stedet for å overskrive.

Fullstack-utvikler • Webno