Running on CentOS 6:
Code:
# find /usr -path find
# find /usr -path \*find
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/generic/find
/usr/src/kernels/2.6.32-358.el6.x86_64/include/config/generic/find
/usr/bin/oldfind
/usr/bin/find
/usr/bin/gnatfind
/usr/bin/gst-typefind
which is exactly as documented.
Code:
# find /usr/* -prune
/usr/bin
/usr/etc
/usr/games
/usr/include
/usr/lib
/usr/lib64
/usr/libexec
/usr/local
/usr/lpp
/usr/sbin
/usr/share
/usr/src
/usr/tmp
These are all directories (except tmp which is a link), so find does not descend into them, exactly as documented.
-{a,c,m}time can be a bit of fun, consider using -daystart to force the interpretation of time to run from 00:00:00 today. -daystart -mtime +1 is then always earlier than yesterday.
As regards to listing all files and filtering them, find will be more efficient and do it with less image activations. Not a problem for a few hundred files, but significant for a few hundred thousand.
Like many venerable programs the syntax can be a bit funny, but then it tries to accommodate various historic flavours of UNIX as well as modern Linux systems. ps is another fundamental program that suffers from the same option bloat. In practice I find you end up knowing the half dozen or so options you use and ignoring the rest until you stumble across them in a script.