Bird
Raised Fist0
Linux CLIscripting~5 mins

wc (word, line, character count) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you want to know how many lines, words, or characters are in a text file. The wc command helps you count these quickly from the command line.
When you want to check how many lines a log file has to estimate its size.
When you need to count words in a text document to meet a writing requirement.
When you want to find out how many characters are in a configuration file.
When you want to quickly see the size of output from another command by counting lines or words.
When you want to verify if a file is empty by checking if it has zero lines or characters.
Commands
This command counts the number of lines, words, and bytes in the file named sample.txt and shows all three counts.
Terminal
wc sample.txt
Expected OutputExpected
10 50 300 sample.txt
This command counts only the number of lines in sample.txt. Use -l when you only want line count.
Terminal
wc -l sample.txt
Expected OutputExpected
10 sample.txt
→
-l - Count lines only
This command counts only the number of words in sample.txt. Use -w when you only want word count.
Terminal
wc -w sample.txt
Expected OutputExpected
50 sample.txt
→
-w - Count words only
This command counts only the number of bytes in sample.txt. Use -c when you want byte count.
Terminal
wc -c sample.txt
Expected OutputExpected
300 sample.txt
→
-c - Count bytes only
Key Concept

If you remember nothing else, remember: wc counts lines, words, and bytes in files or input quickly and can show all or just one count with flags.

Common Mistakes
Running wc without specifying a file or input.
wc waits for input from the keyboard and seems to hang, confusing beginners.
Always provide a filename or pipe input to wc, for example: wc filename.txt or echo "text" | wc
Using multiple flags together like wc -lw without knowing it shows combined counts.
The output can be confusing because it shows multiple counts in one line without clear labels.
Use one flag at a time for clarity, or use wc without flags to see all counts clearly.
Summary
wc counts lines, words, and bytes in text files or input.
Use flags -l, -w, or -c to count only lines, words, or bytes respectively.
Always provide a file or input to wc to avoid waiting for keyboard input.

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