find /path/to/dir -args
Delete empty directories
find /path/to/dir -empty -type d -delete
Delete empty files
find /path/to/dir -empty -type f -delete
Count all empty files or directories
Count empty dirs only
find /path/to/dir/ -empty -type d | wc -l
Count empty files only
find /path/to/dir/ -empty -type f | wc -l
Where :
- -empty : Only find empty files and make sure it is a regular file or a directory.
- -type d : Only match directories.
- -type f : Only match files.
- -delete : Delete files. Always put -delete option at the end of find command as find command line is evaluated as an expression, so putting -delete first will make find try to delete everything below the starting points you specified.
This is useful when you need to clean up empty directories and files in a single command.
Cleanup unnecessary files and Desktop OSses clutter
cd "$SOURCEDIR" find ./ \( -name ".DS_Store" -or -name "._*" -or -name "Thumbs.db" -or -name "*.tmp" -or -name "*.lnk" -or -name "TemporaryItems" -or -name "folders.501" -or -name ".TemporaryItems" -or -name "__MACOSX" \) -ls -delete
Change ownership of files owned by a specific username
find /path/to/dir/ -user username -exec chown newuser:newgroup {} +