Tame Your Logs: Unified `stderr` and `stdout` with `2>&1`
Quick Tip
Tame Your Logs: Unified `stderr` and `stdout` with `2>&1`
Challenge: When running complex commands or scripts, you often need to capture both standard output (stdout) and standard error (stderr) into a single log file to have a complete picture of what happened.
The Solution: Redirecting both streams to a file using `2>&1`.
your_command &> /path/to/your/logfile.log # or your_command > /path/to/your/logfile.log 2>&1
Why it works: In shell redirection, file descriptor 1 (&1) represents stdout and file descriptor 2 (&2) represents stderr. The `2>&1` syntax tells the shell to redirect file descriptor 2 (stderr) to the same location as file descriptor 1 (stdout). The `&>` is a shorthand for this operation.
Pro-Tip: Use `tee` to see the output on your terminal *and* save it to a file simultaneously: your_command | tee /path/to/your/logfile.log
Linux Tips & Tricks | © ngelinux.com | 5/31/2026
