Bird
Raised Fist0
Linux CLIscripting~10 mins

wc (word, line, character count) in Linux CLI - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - wc (word, line, character count)
Start: Provide file or input
↓
wc reads input
↓
Count lines, words, characters
↓
Display counts
↓
End
The wc command reads input, counts lines, words, and characters, then shows the results.
Execution Sample
Linux CLI
echo -e "Hello world\nThis is test" | wc
Counts lines, words, and characters from the given text input.
Execution Table
StepInput ReadLines CountedWords CountedCharacters CountedOutput
1"Hello world\nThis is test"25242 5 24
2Output displayed---2 5 24
💡 Input fully read and counts displayed
Variable Tracker
VariableStartAfter Input ReadFinal
lines022
words055
characters02424
Key Moments - 2 Insights
Why does wc show three numbers by default?
The three numbers are lines, words, and characters counts, as shown in the execution_table rows 1 and 2.
What happens if wc reads from a pipe instead of a file?
It counts the input from the pipe just like a file, as in the execution_table step 1 where echo output is piped to wc.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 1, how many words does wc count?
A2
B5
C24
D3
💡 Hint
Check the 'Words Counted' column in execution_table row 1
At which step does wc display the output?
AStep 2
BStep 3
CStep 1
DNo output displayed
💡 Hint
Look at the 'Output' column in execution_table
If the input had 3 lines instead of 2, how would the 'Lines Counted' change in the table?
AIt would stay 2
BIt would become 5
CIt would become 3
DIt would become 24
💡 Hint
Refer to the 'Lines Counted' column in variable_tracker
Concept Snapshot
wc command counts lines, words, and characters.
Syntax: wc [options] [file]
Default output: lines words characters
Can read from files or pipes.
Use -l for lines only, -w for words only, -c for characters only.
Full Transcript
The wc command in Linux counts lines, words, and characters from input. It can read from files or from piped input. When you run wc, it reads the input fully, counts the number of lines, words, and characters, then displays these counts as three numbers. For example, echoing two lines of text and piping to wc shows 2 lines, 5 words, and 24 characters. The output appears after counting is complete. You can use options to show only lines (-l), words (-w), or characters (-c). This visual trace shows how wc processes input step-by-step and tracks counts.

Practice

(1/5)
1. What does the wc command do in Linux?
easy
A. Counts lines, words, and characters in text
B. Changes file permissions
C. Lists files in a directory
D. Displays disk usage

Solution

  1. Step 1: Understand the purpose of wc

    The wc command is used to count lines, words, and characters in text files or input.
  2. Step 2: Compare with other commands

    Other options like changing permissions or listing files are done by different commands (chmod, ls), not wc.
  3. Final Answer:

    Counts lines, words, and characters in text -> Option A
  4. Quick Check:

    wc = counts lines, words, characters [OK]
Hint: Remember: wc = word count tool for text [OK]
Common Mistakes:
  • Confusing wc with ls or chmod
  • Thinking wc changes files
  • Assuming wc shows disk usage
2. Which of the following is the correct syntax to count only the number of lines in a file named file.txt?
easy
A. wc -w file.txt
B. wc -l file.txt
C. wc -c file.txt
D. wc -m file.txt

Solution

  1. Step 1: Identify option for line count

    The -l option with wc counts lines in the file.
  2. Step 2: Verify other options

    -w counts words, -c counts bytes, and -m counts characters, so they are incorrect for line count.
  3. Final Answer:

    wc -l file.txt -> Option B
  4. Quick Check:

    -l means lines [OK]
Hint: Use -l to count lines, not -w or -c [OK]
Common Mistakes:
  • Using -w or -c instead of -l
  • Forgetting the filename
  • Mixing up -m and -c options
3. Given a file example.txt containing the text:
Hello world
This is a test
What is the output of wc example.txt?
medium
A. 2 6 27 example.txt
B. 3 5 24 example.txt
C. 2 5 24 example.txt
D. 3 6 25 example.txt

Solution

  1. Step 1: Count lines, words, and characters in the file

    Lines: 2 ("Hello world" and "This is a test")
    Words: 6 ("Hello", "world", "This", "is", "a", "test")
    Characters: Count all characters including spaces and newlines.
    "Hello world" = 11 chars, newline = 1, "This is a test" = 14 chars, newline = 1, total = 27 chars.
  2. Step 2: Match counts with options

    2 6 27 example.txt matches exactly: 2 lines, 6 words, 27 characters.
  3. Final Answer:

    2 6 27 example.txt -> Option A
  4. Quick Check:

    Lines=2, Words=6, Characters=27 [OK]
Hint: Count lines, words, chars carefully; wc shows all three by default [OK]
Common Mistakes:
  • Miscounting words or lines
  • Ignoring newline characters in count
  • Assuming output order is different
4. You run wc -l file.txt but get an error: wc: invalid option -- 'x'. What is the likely cause?
medium
A. The file file.txt does not exist
B. You forgot to specify the filename
C. You typed an invalid option like -x by mistake
D. The wc command is not installed

Solution

  1. Step 1: Analyze the error message

    The error says "invalid option -- 'x'", meaning wc received an option -x which it does not recognize.
  2. Step 2: Identify common causes

    This usually happens if you mistype an option, for example -x instead of -l or -w.
  3. Final Answer:

    You typed an invalid option like -x by mistake -> Option C
  4. Quick Check:

    Invalid option error means wrong flag [OK]
Hint: Check option spelling carefully if wc shows invalid option error [OK]
Common Mistakes:
  • Confusing file not found with invalid option error
  • Assuming missing filename causes invalid option error
  • Ignoring typo in command options
5. You want to count only the characters (not bytes) in a UTF-8 encoded file data.txt. Which command should you use?
hard
A. wc -c data.txt
B. wc -w data.txt
C. wc -l data.txt
D. wc -m data.txt

Solution

  1. Step 1: Understand difference between -c and -m

    -c counts bytes, which may differ from characters in UTF-8 files because some characters use multiple bytes.
    -m counts characters, correctly handling multibyte UTF-8 characters.
  2. Step 2: Choose correct option for character count

    To count characters (not bytes), use wc -m.
  3. Final Answer:

    wc -m data.txt -> Option D
  4. Quick Check:

    -m counts characters, not bytes [OK]
Hint: Use -m for characters, -c counts bytes (important for UTF-8) [OK]
Common Mistakes:
  • Using -c and expecting character count
  • Confusing words (-w) with characters
  • Ignoring UTF-8 multibyte character effects
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