📖 Scenario: You are managing a Linux system and want to run commands without cluttering your terminal with their output. Sometimes, you want to ignore the output completely.
🎯 Goal: Learn how to use /dev/null to discard command output in Linux shell commands.
📋 What You'll Learn
Create a simple command that produces output
Create a variable to hold a command
Redirect the command's output to /dev/null
Show that the output is discarded by printing a confirmation message
💡 Why This Matters
🌍 Real World
System administrators often run commands that produce output they do not need to see, so they discard it to keep logs and terminals clean.
💼 Career
Knowing how to discard output is useful for scripting, automation, and managing servers efficiently.
Progress0 / 4 steps
1
Create a command that produces output
Write a command called list_command that stores the string ls, which lists files in the current directory.
Linux CLI
Hint
The ls command lists files in the current directory.
2
Add a command to redirect output to /dev/null
Create a new variable called silent_command that adds > /dev/null to list_command to discard its output.
Linux CLI
Hint
Use > /dev/null to redirect standard output to nowhere.
3
Run the silent command to discard output
Use eval to run the command stored in silent_command so that the output is discarded.
Linux CLI
Hint
The eval command runs the string as a shell command.
4
Print confirmation that output was discarded
Print the message Output discarded successfully to confirm the command ran silently.
Linux CLI
Hint
Use echo to print messages in the shell.
Practice
(1/5)
1. What does redirecting output to /dev/null do in Linux?
easy
A. It displays the output on the screen
B. It saves the output to a file named /dev/null
C. It discards the output so nothing is shown or saved
D. It sends the output to the printer
Solution
Step 1: Understand what /dev/null is
/dev/null is a special file that discards anything written to it.
Step 2: Effect of redirecting output
Redirecting output to /dev/null means the output is thrown away and not shown or saved.
Final Answer:
It discards the output so nothing is shown or saved -> Option C
Quick Check:
/dev/null discards output = D [OK]
Hint: Remember: /dev/null is like a black hole for output [OK]
Common Mistakes:
Thinking /dev/null saves output to a file
Confusing /dev/null with a display device
Assuming output is printed or logged
2. Which of the following commands correctly discards only the standard error output?
easy
A. command > /dev/null
B. command 2> /dev/null
C. command > /dev/null 2>&1
D. command 1> /dev/null
Solution
Step 1: Identify standard error redirection syntax
Standard error is file descriptor 2, so redirecting errors uses '2>'.
Step 2: Match command to discard only errors
Using 'command 2> /dev/null' discards error output only, leaving normal output visible.
Final Answer:
command 2> /dev/null -> Option B
Quick Check:
2> /dev/null hides errors only = A [OK]
Hint: Use '2>' to redirect errors, '>' for normal output [OK]
Common Mistakes:
Using '>' instead of '2>' to hide errors
Confusing '2>&1' with error-only redirection
Redirecting both outputs when only errors needed
3. What will be the output of this command?
ls /nonexistent 2> /dev/null
medium
A. Shows no output at all
B. Shows an error message about missing directory
C. Lists files in /nonexistent directory
D. Creates the /nonexistent directory
Solution
Step 1: Understand the command and redirection
ls /nonexistent tries to list a directory that does not exist, producing an error on standard error.
Step 2: Effect of '2> /dev/null'
The error message is redirected to /dev/null, so it is discarded and not shown.
Final Answer:
Shows no output at all -> Option A
Quick Check:
Error hidden by 2> /dev/null = C [OK]
Hint: Errors go to 2>, normal output to >; here errors hidden [OK]
Common Mistakes:
Expecting error message to appear
Thinking directory is created
Confusing standard output with error output
4. You want to discard both standard output and error from a command, but your script still shows errors. What is wrong with this command?
command > /dev/null 2>1
medium
A. The command will only discard standard output
B. The command does not discard any output
C. The output is redirected to the wrong file
D. The error redirection syntax is incorrect; it should be 2>&1
Solution
Step 1: Analyze the error redirection syntax
The command uses '2>1' which redirects standard error to a file named '1', not to standard output.
Step 2: Correct syntax for redirecting error to output
The correct syntax to redirect standard error to the same place as standard output is '2>&1'.
Final Answer:
The error redirection syntax is incorrect; it should be 2>&1 -> Option D
Quick Check:
Use 2>&1 to redirect errors to output [OK]
Hint: Use '2>&1' to combine error with output redirection [OK]
Common Mistakes:
Writing '2>1' instead of '2>&1'
Forgetting '&' in error redirection
Assuming '2>1' redirects errors to output
5. You want to run a script that produces both output and errors, but you want to log only errors to a file and discard normal output. Which command achieves this?
hard
A. script.sh > /dev/null 2> errors.log
B. script.sh > errors.log 2> /dev/null
C. script.sh > /dev/null 2>&1
D. script.sh 2> /dev/null > errors.log
Solution
Step 1: Understand output and error redirection
'>' redirects standard output, '2>' redirects standard error.
Step 2: Match requirement to command
To discard normal output, redirect it to /dev/null. To save errors, redirect standard error to errors.log.
Final Answer:
script.sh > /dev/null 2> errors.log -> Option A
Quick Check:
Output discarded, errors logged = B [OK]
Hint: Redirect output to /dev/null, errors to file with 2> [OK]
Common Mistakes:
Swapping output and error redirections
Redirecting both outputs to /dev/null
Using wrong order causing errors to be discarded
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.