Q. I don't remember where I saved pdf and text files under Linux. I have downloaded files from internet a few months ago. How do I find my pdf files?
A. You need to use find command. Each file has three time stamps, which record the last time that certain operations were performed on the file:
[a] access (read the file's contents) - atime
[b] change the status (modify the file or its attributes) - ctime
[c] modify (change the file's contents) - mtime
You can search for files whose time stamps are within a certain age range, or compare them to other time stamps.
You can use -mtime option. It returns list of file if the file was last accessed N*24 hours ago. For example to find file in last 2 months (60 days) you need to use -mtime +60 option.
- -mtime +60 means you are looking for a file modified 60 days ago.
- -mtime -60 means less than 60 days.
- -mtime 60 If you skip + or - it means exactly 60 days.
So to find text files that were last modified 60 days ago, use
$ find /home/you -iname "*.txt" -mtime -60 -print
Display content of file on screen that were last modified 60 days ago, use
$ find /home/you -iname "*.txt" -mtime -60 -exec cat {} \;
Count total number of files using wc command
$ find /home/you -iname "*.txt" -mtime -60 | wc -l
You can also use access time to find out pdf files. Following command will print the list of all pdf file that were accessed in last 60 days:
$ find /home/you -iname "*.pdf" -atime -60 -type -f
List all mp3s that were accessed exactly 10 days ago:
$ find /home/you -iname "*.mp3" -atime 10 -type -f
There is also an option called -daystart. It measure times from the beginning of today rather than from 24 hours ago. So, to list the all mp3s in your home directory that were accessed yesterday, type the command
$ find /home/you -iname "*.mp3" -daystart -type f -mtime 1
Where,
- -type f - Only search for files and not directories
Read man page of find command for more information.
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- My 10 UNIX Command Line Mistakes
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
- Email FAQ to a friend
- Download PDF version
- Printable version
- Comment RSS feed
- Last Updated: 01/18/07



{ 7 comments… read them below or add one }
Suppose I want to remove a set of file frm date say 1st Jan 2009 – 20 Jan 2009 in a specific Directory.
Let me know
How to create a directory called Red and under that Red directory i want to create a file called Hat. How please guide me as soon as possible
Thx for the find examples ! they were very helpfull
Find examples were great…needed to use this to get a report on a shared drive…getting the output was a bit of a pain, until the resident guru came through:
Finds files older than 18months and newer than 24 months, cat’s the output to a CSV in the format:
/some/path/somewhere, size in bytes, Access Time, Modified Time
works nicely, and the mem usage wasn’t bad at all, need eclipse and birt though because of
In aix 5.3 put -name instead -iname
I would like to display the date modified, the owner of the file, and the file size of the files that I have found using the find command. Is there a way to do that?
the commands in the examples are not working for me, im trying to get the times a particular word file has been accessed on my computer in the last week so i tried to use the -atime example to see if it was accessed one day ago, i typed this into terminal:
find /home/you -iname “*.mp3″ -atime 01 -type -f
it didnt work, can anyone help me?