Bird
Raised Fist0
Linux CLIscripting~5 mins

find by modification time in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you need to find files that were changed recently or a long time ago. The Linux find command can search files based on when they were last modified. This helps you quickly locate files by their modification date.
When you want to delete files not changed in the last 30 days to free up space
When you need to back up files modified in the last 24 hours
When you want to check which files were changed today in a project folder
When you want to list files modified more than a year ago for archiving
When you want to find files modified exactly 7 days ago for review
Commands
This command finds files in /home/user/documents modified less than 1 day ago. The -mtime -1 means files changed within the last 24 hours.
Terminal
find /home/user/documents -mtime -1
Expected OutputExpected
/home/user/documents/report.txt /home/user/documents/notes.txt
→
-mtime - Find files by modification time in days
This command finds files modified more than 30 days ago in /home/user/documents. The +30 means files older than 30 days.
Terminal
find /home/user/documents -mtime +30
Expected OutputExpected
/home/user/documents/old_data.csv /home/user/documents/archive.zip
→
-mtime - Find files by modification time in days
This command finds files modified exactly 7 days ago in /home/user/documents. The 7 means files changed between 7 and 8 days ago.
Terminal
find /home/user/documents -mtime 7
Expected OutputExpected
/home/user/documents/weekly_report.docx
→
-mtime - Find files by modification time in days
Key Concept

If you remember nothing else from this pattern, remember: -mtime lets you find files by how many days ago they were last changed.

Common Mistakes
Using -mtime 1 to find files changed in the last 1 day
-mtime 1 finds files changed between 1 and 2 days ago, not within the last day
Use -mtime -1 to find files changed less than 1 day ago
Confusing + and - signs with -mtime
+ means older than, - means newer than, missing sign means exactly that many days ago
Use +N for older than N days, -N for newer than N days, N for exactly N days ago
Summary
Use find with -mtime to search files by modification time in days.
-mtime -N finds files modified within the last N days.
-mtime +N finds files modified more than N days ago.
-mtime N finds files modified exactly N days ago.

Practice

(1/5)
1. What does the command find . -mtime -3 do in Linux?
easy
A. Finds files modified within the last 3 days
B. Finds files modified exactly 3 days ago
C. Finds files modified more than 3 days ago
D. Finds files modified more than 3 hours ago

Solution

  1. Step 1: Understand the meaning of -mtime

    The -mtime option in find searches files by modification time in days.
  2. Step 2: Interpret the negative number -3

    A negative number means files modified less than that many days ago, so -3 means within the last 3 days.
  3. Final Answer:

    Finds files modified within the last 3 days -> Option A
  4. Quick Check:

    -mtime -3 means modified less than 3 days ago [OK]
Hint: Negative -mtime means files modified within last N days [OK]
Common Mistakes:
  • Confusing -mtime -3 with exactly 3 days ago
  • Thinking -mtime -3 means more than 3 days ago
  • Mixing hours with days in -mtime
2. Which of the following is the correct syntax to find files modified exactly 5 days ago?
easy
A. find . -mtime +5
B. find . -mtime 5
C. find . -mtime -5
D. find . -mmin 5

Solution

  1. Step 1: Recall the meaning of -mtime with positive number

    -mtime 5 finds files modified exactly 5 days ago (between 5 and 6 days).
  2. Step 2: Check other options

    -mtime +5 means more than 5 days ago, -mtime -5 means less than 5 days ago, and -mmin 5 searches by minutes, not days.
  3. Final Answer:

    find . -mtime 5 -> Option B
  4. Quick Check:

    Exact days use positive number without + or - [OK]
Hint: Exact days use plain number with -mtime (no + or -) [OK]
Common Mistakes:
  • Using +5 instead of 5 for exact days
  • Using -5 to mean exactly 5 days ago
  • Confusing -mtime with -mmin
3. What will be the output of this command if run in a directory with files modified 1, 3, 5, and 7 days ago?
find . -mtime +4
medium
A. ./file_modified_1_day_ago ./file_modified_3_days_ago
B. ./file_modified_3_days_ago ./file_modified_5_days_ago
C. No files found
D. ./file_modified_5_days_ago ./file_modified_7_days_ago

Solution

  1. Step 1: Understand +4 with -mtime

    -mtime +4 finds files modified more than 4 days ago (5 days or older).
  2. Step 2: Identify files matching condition

    Files modified 5 and 7 days ago match, so they will be listed.
  3. Final Answer:

    ./file_modified_5_days_ago ./file_modified_7_days_ago -> Option D
  4. Quick Check:

    +4 means older than 4 days [OK]
Hint: Use +N to find files older than N days [OK]
Common Mistakes:
  • Including files modified less than or equal to 4 days ago
  • Confusing +4 with -4
  • Expecting no output when files exist
4. You wrote this command to find files modified within the last 2 days:
find /data -mtime 2
But it returns files modified exactly 2 days ago, not within 2 days. How to fix it?
medium
A. Use find /data -mtime 0
B. Change to find /data -mtime +2
C. Change to find /data -mtime -2
D. Add -mmin -2880 instead

Solution

  1. Step 1: Understand what -mtime 2 means

    -mtime 2 finds files modified exactly 2 days ago (between 2 and 3 days).
  2. Step 2: Use negative number for 'within last N days'

    To find files modified less than 2 days ago, use -mtime -2.
  3. Final Answer:

    Change to find /data -mtime -2 -> Option C
  4. Quick Check:

    Negative -mtime means less than N days [OK]
Hint: Use -mtime -N for files modified within last N days [OK]
Common Mistakes:
  • Using positive number for 'within' instead of exact days
  • Using +2 which means older than 2 days
  • Confusing minutes and days options
5. You want to delete files in /backup that were modified more than 10 days ago but keep files modified within 10 days. Which command correctly does this safely?
hard
A. find /backup -mtime +10 -delete
B. find /backup -mtime +10 -exec rm {} \;
C. find /backup -mtime 10 -delete
D. find /backup -mtime -10 -exec rm {} \;

Solution

  1. Step 1: Identify files older than 10 days

    -mtime +10 selects files modified more than 10 days ago.
  2. Step 2: Use safe deletion option

    -delete deletes files directly; it's safer and simpler than -exec rm which can be error-prone.
  3. Step 3: Check other options

    -mtime -10 deletes recent files (wrong), -mtime 10 deletes files exactly 10 days old (not older), and -exec rm works but less safe than -delete.
  4. Final Answer:

    find /backup -mtime +10 -delete -> Option A
  5. Quick Check:

    Use +N with -delete to remove files older than N days [OK]
Hint: Use -mtime +N with -delete to remove files older than N days [OK]
Common Mistakes:
  • Using -mtime -10 deletes recent files instead of old
  • Using -mtime 10 deletes only files exactly 10 days old
  • Using -exec rm without care can cause errors
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