Bird
Raised Fist0
Linux CLIscripting~20 mins

find command basics in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Find Command Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
Find files by name
What is the output of this command if the current directory contains files: report.txt, data.csv, and notes.txt?
Linux CLI
find . -name '*.txt'
ASyntax error
B./data.csv
C
report.txt
notes.txt
D
./report.txt
./notes.txt
Attempts:
2 left
💡 Hint
The -name option filters files by pattern, including the path.
💻 Command Output
intermediate
1:30remaining
Find files by size
What files will this command list if the directory has files: a.log (500 bytes), b.log (1500 bytes), and c.log (2500 bytes)?
Linux CLI
find . -size +1000c
ANo output
B
./a.log
./b.log
./c.log
C
./b.log
./c.log
D./a.log
Attempts:
2 left
💡 Hint
The -size +1000c finds files larger than 1000 bytes.
📝 Syntax
advanced
2:00remaining
Correct find syntax for multiple conditions
Which option correctly finds files with extension .txt or .md in the current directory?
Afind . -name '*.txt' -o -name '*.md'
Bfind . -name '*.txt' -and -name '*.md'
Cfind . -name '*.txt' -or -name '*.md'
Dfind . -name '*.txt' || -name '*.md'
Attempts:
2 left
💡 Hint
Use the correct logical OR operator for find.
🔧 Debug
advanced
2:00remaining
Why does this find command fail?
This command is intended to find all files modified in the last 7 days but returns no results. Why? find . -mtime 7
AIt should use -mmin instead of -mtime
BIt finds files modified exactly 7 days ago, not within 7 days
CThe command syntax is invalid
DIt only finds directories, not files
Attempts:
2 left
💡 Hint
Check what the number after -mtime means.
🚀 Application
expert
2:30remaining
Find and delete empty files safely
Which command safely finds and deletes all empty files in the current directory and its subdirectories?
Afind . -type f -empty -delete
Bfind . -empty -exec rm {} \;
Cfind . -type f -size 0 -exec rm -f {} \;
Dfind . -type f -size 0 -delete
Attempts:
2 left
💡 Hint
Use the safest and simplest way to delete empty files with find.

Practice

(1/5)
1. What does the find command do in Linux?
easy
A. Copies files from one folder to another
B. Deletes files permanently
C. Searches for files and directories based on criteria
D. Displays the contents of a file

Solution

  1. Step 1: Understand the purpose of the find command

    The find command is used to locate files and directories by searching through folders and subfolders.
  2. Step 2: Compare options

    Options B, C, and D describe other commands like rm, cp, and cat, not find.
  3. Final Answer:

    Searches for files and directories based on criteria -> Option C
  4. Quick Check:

    find = search files [OK]
Hint: Remember: find means locate files/folders fast [OK]
Common Mistakes:
  • Confusing find with delete or copy commands
  • Thinking find edits files
  • Assuming find shows file contents
2. Which of the following is the correct syntax to find all files named notes.txt in the current directory and its subdirectories?
easy
A. find . -name notes.txt
B. find -name notes.txt .
C. find notes.txt -name .
D. find . notes.txt -name

Solution

  1. Step 1: Recall find command syntax

    The correct syntax is: find [path] [options]. Here, '.' means current directory, '-name' specifies the filename.
  2. Step 2: Check each option

    find . -name notes.txt matches the correct syntax. Options A, B, and D have misplaced arguments or options.
  3. Final Answer:

    find . -name notes.txt -> Option A
  4. Quick Check:

    find . -name filename [OK]
Hint: Path first, then options like -name [OK]
Common Mistakes:
  • Putting filename before path
  • Missing dot for current directory
  • Wrong order of options and arguments
3. What will be the output of the command find /tmp -type d -name "test" if there is a directory named test inside /tmp?
medium
A. It will list the full path of the directory named test inside /tmp
B. It will list all files named test inside /tmp
C. It will delete the directory named test inside /tmp
D. It will show an error because of incorrect syntax

Solution

  1. Step 1: Understand the command options

    /tmp is the search path, -type d means only directories, -name "test" looks for name 'test'.
  2. Step 2: Predict output

    The command will print the full path of any directory named 'test' inside /tmp and its subfolders.
  3. Final Answer:

    It will list the full path of the directory named test inside /tmp -> Option A
  4. Quick Check:

    find with -type d lists directories [OK]
Hint: -type d means directories only [OK]
Common Mistakes:
  • Confusing -type d with files
  • Expecting deletion instead of listing
  • Assuming syntax error without checking
4. You run find /home/user -name '*.txt' but get no results even though there are .txt files. What is the most likely problem?
medium
A. The quotes prevent the shell from expanding the wildcard
B. The path /home/user does not exist
C. The command should use -type d instead of -name
D. The wildcard * is not supported by find

Solution

  1. Step 1: Understand wildcard usage in find

    Using quotes around '*.txt' prevents the shell from expanding the wildcard, which is correct because find handles the pattern matching itself.
  2. Step 2: Identify common mistake

    With correct syntax, no results despite .txt files existing suggests the path /home/user does not exist or is inaccessible.
  3. Final Answer:

    The path /home/user does not exist -> Option B
  4. Quick Check:

    ls /home/user [OK]
Hint: Verify path exists before searching [OK]
Common Mistakes:
  • Removing quotes and letting shell expand
  • Using -type d for files
  • Wrong path assumption
5. How can you use the find command to locate all files larger than 1MB in the /var/log directory and delete them safely after confirmation?
hard
A. find /var/log -type d -size +1M -ok rm {} \;
B. find /var/log -type f -size +1M -delete
C. find /var/log -size 1M -exec rm {} \;
D. find /var/log -type f -size +1M -ok rm {} \;

Solution

  1. Step 1: Identify criteria for files larger than 1MB

    -type f means files, -size +1M means size greater than 1 megabyte.
  2. Step 2: Choose safe deletion method

    -ok rm {} \; asks for confirmation before deleting each file, which is safer than -delete or -exec rm without confirmation.
  3. Step 3: Check options

    find /var/log -type f -size +1M -ok rm {} \; uses -ok for confirmation, correct. find /var/log -type f -size +1M -delete deletes without confirmation. find /var/log -size 1M -exec rm {} \; uses wrong size syntax and no confirmation. find /var/log -type d -size +1M -ok rm {} \; searches directories, not files.
  4. Final Answer:

    find /var/log -type f -size +1M -ok rm {} \; -> Option D
  5. Quick Check:

    -ok asks confirmation before delete [OK]
Hint: Use -ok for safe delete with confirmation [OK]
Common Mistakes:
  • Using -delete without confirmation
  • Wrong size syntax
  • Searching directories instead of files
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