In linux shell, How to cp/rm files by time?

herbertD picture herbertD · Jul 27, 2012 · Viewed 15.6k times · Source

In linux shell, When I run

ls -al -t

that show the time of files.

How to cp/rm files by time? just like copy all the files that created today or yesterday. Thanks a lot.

Answer

verdesmarald picture verdesmarald · Jul 27, 2012

Depending on what you actually want to do, find provides -[acm]time options for finding files by accessed, created or modified dates, along with -newer and -min. You can combine them with -exec to copy, delete, or whatever you want to do. For example:

find -maxdepth 1 -mtime +1 -type f -exec cp '{}' backup \;

Will copy all the regular files in the current directory more than 1 day old to the directory backup (assuming the directory backup exists).