1. find / -name "*.exe" -executable -size +1k or find / -regex ".*\.exe" -executable -size +1k 2. find / -name "*.c" -size +100c or find / -regex ".*\.c" -size +100c 3. find / -type f -regextype posix-extended -regex "(.*A.*a.*)|(.*a.*A.*)" -exec tail -n 3 '{}' \; or find / -type f -regextype posix-extended -regex "(.*A.*a.*\..*)|(.*a.*A.*\..*)" -exec tail -n 3 '{}' \; or find / -type f \( -name "*A*a*" -or -name "*a*A*" \) -exec tail -n 3 '{}' \; 4. Name without extension find / -mindepth 3 -maxdepth 5 -user scanzio -size +249c -name "????" -type f -exec wc -c '{}' \; Name without extension with regular expression (remember that the path must be matched) find / -mindepth 3 -maxdepth 5 -user scanzio -size +249c -regex ".*\/...." -type f -exec wc -c '{}' \; Name with any extension find / -mindepth 3 -maxdepth 5 -user scanzio -size +249c -name "????.*" -type f -exec wc -c '{}' \; 5. find / -name "A*zzz*.???" -exec tar -zcvf '{}'.tar.gz '{}' \; or find / -regex ".*A.*zzz.*\...." -exec tar -zcvf '{}'.tar.gz '{}' \; 6. find / -type d -name "bin" -exec ls '{}' \; 7.* find / -name "*.c" ! -user scanzio or (but only if fields are separated by single spaces, and not multiple spaces) find / -name "*.c" -exec ls -la \{} \; | cut -d " " -f 3,10 | grep -v scanzio| cut -d " " -f 2 8. find / -maxdepth 1 -user scanzio -exec chmod go-xrw '{}' \;