Select the TWO true statements about output redirection in bash.
LPIC-1 Exam 101-500, objective 103. GNU and Unix commands hard
Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.
Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.
How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.
The options
Choose 2.
Not correct > out.log adds to the end of out.log if the file already exists.
Wrong. > truncates an existing file to zero length before writing. Appending is >>.
Not correct A pipe passes both standard output and standard error to the next command.
Wrong. A plain | passes only standard output; standard error still goes to the terminal. Use |& in bash, or 2>&1 | , to pipe both.
Not correct In `cmd 2>&1 > out.log`, both streams end up in out.log.
Wrong, and this is the classic trap. Redirections are processed left to right: 2>&1 first points stderr at wherever stdout currently goes (the terminal), and only then is stdout moved to the file. The correct order is `cmd > out.log 2>&1`.
Correct 2> errors.log sends only standard error to the file, leaving standard output on the terminal.
Correct. 2 is the file descriptor for standard error, so only that stream is redirected.
Correct &> all.log sends both standard output and standard error to the file.
Correct in bash (and the equivalent portable form is > all.log 2>&1). Both streams end up in the same file, which is truncated first.
Why
Every process starts with three descriptors: 0 stdin, 1 stdout, 2 stderr. > and >> redirect descriptor 1 (truncating or appending), 2> and 2>> redirect descriptor 2, and n>&m makes descriptor n a duplicate of descriptor m at that moment. Because duplication copies the CURRENT target, the order of redirections on the line changes the result.
Where this comes from
- Cited
- LPI exam objective 103.4
- What it says
- Redirect standard input, standard output and standard error, including combining streams.
Practise this
Reading one question is not practice. The trainer will draw a short set from objective 103 and space the ones you get wrong.
More questions on this objective
- A user starts a new terminal window in a running graphical desktop session, which launches bash as an interactive shell that is NOT a login shell. Which file in the user's home directory does bash read in that case? machine-checked
- In bash, which history expansion re-runs the entire previous command line? machine-checked
- Which bash command prints the literal five characters $USER instead of the current user name? machine-checked
- You want /opt/bin searched for executables, after all the directories already in PATH, in the current bash session and in every command started from it. Which command does that? machine-checked
- There is a passwd manual page in section 1 (the command) and another in section 5 (the /etc/passwd file format). Which command opens the section 5 page? machine-checked
- Select the TWO true statements about shell variables and the environment in bash. machine-checked