rosetta_stone > os
document updated 2 years ago, on Dec 4, 2021
Being able to list all files within the current directory tree that have changed within the last n minutes is really handy. It can often help you locate files created by unfamiliar software (log files, config files, save states, etc).

GNU find

If you're on a box that has a real GNU find on it, these will work:
find -mmin -60          # find files modified less than 60 minutes ago

find -mtime -1          # find files modified less than 1 day ago

find -newer ./ref       # find files that are newer than the specified file
To sort by last modified:
find -mtime -1 -print0 | xargs -0 -- ls -dlrtF --color


To sort by last modified:

tree -tC


This solution is nice because it works on Unix variants that don't have a true GNU find. (on Windows, install StrawberryPerl)
perl -MFile::Find -le 'find sub{print $File::Find::name if (-M) < 60/1440},"."'

# or on Windows:
perl.exe -MFile::Find -le "find sub{print $File::Find::name if (-M) < 60/1440},'.'"

The '60' there is the maximum age in minutes. Another way:

# everywhere
find2perl -mtime -1 -type f -print | perl
find2perl -eval "(-M) < 60/1440" -type f -print | perl

If you have Windows + StrawberryPerl, you can also:

dir /s/b | perl -nle "print if (-M) < 60/1440"

To sort by last modified:

perl -MFile::Find -le '$\=chr 0;find sub{print "$File::Find::name" if (-M) < 1},"."' | xargs -0 -- ls -dlrtF 

# on Windows
perl -MFile::Find -le "find sub{push@a,$File::Find::name},'.';print join qq[\n],sort{-M$b<=>-M$a}@a"
# that same one, on Unix
perl -MFile::Find -le 'find sub{push@a,$File::Find::name},".";print join qq[\n],sort{-M$b<=>-M$a}@a'