Tame Your Terminal: Unified Logging with `2>&1`
Quick Tip
Tame Your Terminal: Unified Logging with `2>&1`
Challenge: When running commands or scripts, you often need to capture both standard output (stdout) and standard error (stderr) into a single log file for easier analysis. Manually redirecting each can be tedious.
The Solution: Use the `2>&1` redirection operator to send stderr to stdout, which can then be redirected to a file.
your_command &> your_log_file.txt # or your_command > your_log_file.txt 2>&1
Why it works: The `&>` operator is a shorthand for `> … 2>&1`, meaning “redirect both stdout (file descriptor 1) and stderr (file descriptor 2) to the specified file.” Explicitly, `2>&1` tells the shell to duplicate file descriptor 2 (stderr) and point it to wherever file descriptor 1 (stdout) is currently pointing.
Pro-Tip: Use `tee` to view output on screen *and* save it to a file simultaneously: `your_command 2>&1 | tee your_log_file.txt`
Linux Tips & Tricks | © ngelinux.com | 7/4/2026
