I want to find all files that are:
- recent
- do not end in .class
- no directories
This is what I have attempted but it is not working:
find . \( -atime -1 -a \! -type d -a \! -name '.class' \) -ls
I simplified it to this:
find . -atime -1 -ls
But it is still picking up things from January and earlier. What is going wrong here?

-a(and) is implied so you can omit those (and the parentheses). You probably also want a "*" in the name spec:\! -name '*.class'– Dennis Williamson Feb 10 '10 at 20:41