Bird
Raised Fist0
Linux CLIscripting~5 mins

stdin redirection (<) in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the stdin redirection operator (<) do in Linux command line?
It takes input for a command from a file instead of the keyboard. The command reads data from the file as if it was typed by the user.
Click to reveal answer
beginner
How would you use stdin redirection to provide a file named input.txt as input to the sort command?
You write: sort < input.txt. This tells sort to read its input from input.txt instead of waiting for keyboard input.
Click to reveal answer
intermediate
True or False: Using command < file is the same as cat file | command.
True. Both send the contents of the file as input to the command, but < is simpler and more efficient.
Click to reveal answer
beginner
What happens if you use stdin redirection with a file that does not exist?
The shell will show an error like bash: file: No such file or directory and the command will not run.
Click to reveal answer
beginner
Why is stdin redirection useful in scripting and automation?
It lets scripts read input from files automatically without user typing. This helps run commands on saved data quickly and repeatably.
Click to reveal answer
What does the operator < do in a Linux command?
ARedirects output to a file
BRedirects input from a file to a command
CPipes output from one command to another
DRuns a command in the background
Which command uses stdin redirection correctly?
Agrep 'hello' < file.txt
Bgrep 'hello' > file.txt
Cgrep 'hello' | file.txt
Dgrep 'hello' & file.txt
What error occurs if the file used with < does not exist?
AFile is created automatically
BCommand runs with empty input
CCommand ignores the file and runs normally
DShell shows 'No such file or directory' error
How is < different from a pipe (|)?
A< is for background jobs; | is for input
B< sends output; | sends input
C< sends input from a file; | sends output from a command
D< and | do the same thing
Why prefer < over cat file | command?
A< is simpler and uses less resources
Bcat is faster
CThey are exactly the same in all ways
Dcat is more secure
Explain how stdin redirection (<) works and give a simple example.
Think about how a command reads data without typing.
You got /3 concepts.
    Describe a situation where stdin redirection helps automate a task.
    Imagine you want to process many files quickly.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the command sort < names.txt do in Linux?
      easy
      A. It sorts the lines inside the file names.txt and shows the result.
      B. It saves the sorted output into names.txt.
      C. It renames the file names.txt to sort.
      D. It deletes the file names.txt after sorting.

      Solution

      1. Step 1: Understand stdin redirection with <

        The < symbol sends the content of names.txt as input to the sort command.
      2. Step 2: Effect of the command

        The sort command reads the file content and outputs the sorted lines to the screen (standard output).
      3. Final Answer:

        It sorts the lines inside the file names.txt and shows the result. -> Option A
      4. Quick Check:

        stdin redirection < sends file content as input [OK]
      Hint: Remember: < sends file content as input to command [OK]
      Common Mistakes:
      • Thinking < saves output to the file
      • Confusing < with > (output redirection)
      • Assuming the file is modified
      2. Which of the following is the correct syntax to use stdin redirection to provide input from a file named input.txt to the command wc -l?
      easy
      A. < wc -l input.txt
      B. wc -l > input.txt
      C. wc -l input.txt <
      D. wc -l < input.txt

      Solution

      1. Step 1: Identify correct stdin redirection syntax

        The correct way to redirect input is command < filename. So wc -l < input.txt is correct.
      2. Step 2: Check other options

        wc -l > input.txt uses > which is output redirection. Options C and D have incorrect order or syntax.
      3. Final Answer:

        wc -l < input.txt -> Option D
      4. Quick Check:

        stdin redirection syntax = command < file [OK]
      Hint: Use < between command and filename for input redirection [OK]
      Common Mistakes:
      • Using > instead of < for input
      • Placing < after filename
      • Starting command line with <
      3. Given a file numbers.txt containing the lines:
      3
      1
      2

      What is the output of the command sort < numbers.txt?
      medium
      A. 1 2 3
      B. 3 1 2
      C. 2 3 1
      D. Syntax error

      Solution

      1. Step 1: Understand the input file content

        The file numbers.txt has three lines: 3, 1, and 2.
      2. Step 2: Effect of sort < numbers.txt

        The sort command reads the lines and outputs them sorted ascending: 1, 2, 3.
      3. Final Answer:

        1 2 3 -> Option A
      4. Quick Check:

        sort command sorts lines from stdin [OK]
      Hint: Sort reads from stdin when using < redirection [OK]
      Common Mistakes:
      • Assuming output is original order
      • Confusing input and output redirection
      • Expecting numbers sorted numerically without options
      4. You run the command grep 'apple' < fruits.txt but get no output, even though fruits.txt contains lines with 'apple'. What is the most likely error?
      medium
      A. The file fruits.txt is empty.
      B. You used output redirection instead of input redirection.
      C. The pattern 'apple' is case-sensitive and does not match the file content.
      D. The command syntax is incorrect; grep does not support input redirection.

      Solution

      1. Step 1: Check if input redirection is valid for grep

        grep supports reading from stdin, so grep 'apple' < fruits.txt is valid syntax.
      2. Step 2: Consider case sensitivity of grep

        By default, grep is case-sensitive. If the file has 'Apple' or 'APPLE', it won't match 'apple'.
      3. Final Answer:

        The pattern 'apple' is case-sensitive and does not match the file content. -> Option C
      4. Quick Check:

        grep is case-sensitive by default [OK]
      Hint: Check case sensitivity when grep finds no matches [OK]
      Common Mistakes:
      • Assuming input redirection is wrong for grep
      • Ignoring case differences in pattern
      • Thinking file is empty without checking
      5. You want to count how many lines in data.txt contain the word 'error' ignoring case, using stdin redirection. Which command achieves this?
      hard
      A. wc -l < grep -i 'error' data.txt
      B. grep -i 'error' < data.txt | wc -l
      C. grep 'error' > data.txt | wc -l
      D. grep -i 'error' > data.txt | wc -l

      Solution

      1. Step 1: Use grep with case-insensitive option and stdin redirection

        grep -i 'error' < data.txt reads data.txt ignoring case.
      2. Step 2: Pipe output to wc -l to count matching lines

        Adding | wc -l counts the number of lines output by grep.
      3. Final Answer:

        grep -i 'error' < data.txt | wc -l -> Option B
      4. Quick Check:

        Use grep -i with < and pipe to wc -l [OK]
      Hint: Pipe grep output to wc -l for counting lines [OK]
      Common Mistakes:
      • Using > instead of < for input
      • Placing wc -l before grep
      • Redirecting output to input file mistakenly
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard