LinuxFind ToolLinuxFind files that have been modified on your system in the past 60 minutes find / -mmin 60 -type f Find all files larger than 20M find / -type f -size +20M Find duplicate files (based on MD5 hash) find -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 33 Change permission only for files cd /var/www/site && find . -type f -exec chmod 766 {} \; cd /var/www/site && find . -type f -exec chmod 664 {} + Change permission only for directories cd /var/www/site && find . -type d -exec chmod g+x {} \; cd /var/www/site && find . -type d -exec chmod g+rwx {} + Find files and directories for specific user/group # User: find . -user <username> -print find /etc -type f -user <username> -name "*.conf" # Group: find /opt -group <group> find /etc -type f -group <group> -iname "*.conf" Find files and directories for all without specific user/group # User: find . \! -user <username> -print # Group: find . \! -group <group> Looking for files/directories that only have certain permission # User find . -user <username> -perm -u+rw # -rw-r--r-- find /home -user $(whoami) -perm 777 # -rwxrwxrwx # Group: find /home -type d -group <group> -perm 755 # -rwxr-xr-x Delete older files than 60 days find . -type f -mtime +60 -delete Recursively remove all empty sub-directories from a directory find . -depth -type d -empty -exec rmdir {} \; How to find all hard links to a file find </path/to/dir> -xdev -samefile filename Recursively find the latest modified files find . -type f -exec stat --format '%Y :%y %n' "{}" \; | sort -nr | cut -d: -f2- | head Recursively find/replace of a string with sed find . -not -path '*/\.git*' -type f -print0 | xargs -0 sed -i 's/foo/bar/g' Recursively find/replace of a string in directories and file names find . -depth -name '*test*' -execdir bash -c 'mv -v "$1" "${1//foo/bar}"' _ {} \; Recursively find suid executables find / \( -perm -4000 -o -perm -2000 \) -type f -exec ls -la {} \;PreviousFiles and FoldersNextLinux Console