Skip to content

πŸ”° FindΒΆ

Lovely Find command options with examplesΒΆ

1. Find Files by NameΒΆ

find /home/user/documents -name "example.txt"

2. Find Files by ExtensionΒΆ

find /var/log -name "*.log'

3. Find Files Modified in the Last 7 DaysΒΆ

find /etc -mtime -7

4. Find Files Modified More Than 30 Days AgoΒΆ

find /usr/local -mtime +30

5. Find and Delete FilesΒΆ

find /tmp -name "oldfile.txt" -delete

6. Find Empty Files or DirectoriesΒΆ

find /var/www -empty

7. Find Files Larger Than 100MBΒΆ

find /home/user/downloads -size +100M

8. Find Files Owned by a Specific UserΒΆ

find /home -user username

9. Find Files with 0644 PermissionsΒΆ

find /etc -perm 0644

10. Find Files and Execute a Command (Gzip Log Files)ΒΆ

find /var/log -name "*.log" -exec gzip {} \;

11. Find Files and Execute a Command (Delete Empty Files)ΒΆ

find /home/user/documents -type f -empty -exec rm {} \;

12. Find Files and Print Their DetailsΒΆ

find /home/user/documents -type f -exec ls -lh {} \;

13. Find Files Excluding a Specific DirectoryΒΆ

find / -path "/proc" -prune -o -name "*.conf" -print

14. Find Files Modified in the Last 60 MinutesΒΆ

find /var/www -mmin -60

15. Find and Archive Files with a Specific ExtensionΒΆ

find /home/user/pictures -name "*. jpg" | xargs tar -czvf archive.tar.gz
find /usr/bin -type l

17. Find Files by Inode NumberΒΆ

find / -inum 456332

18. Find Files and Exclude a Specific File TypeΒΆ

find /home/user -not -name "*.txt"

19. Find Files with Specific Group OwnershipΒΆ

find /var/log -group syslog

20. Find Files with Specific Size Range (e.g., 50MB to 100MB)ΒΆ

find /home/user/downloads -size +50M -size -100M

21. Find and Sort Files by Modification TimeΒΆ

find /var/log -type f -exec ls -lt {} +

22. Find Files Modified in the Last 2 HoursΒΆ

find /var/log -mmin -120

23. Find Files with Specific User and Group OwnershipΒΆ

find /home -user username -group groupname

24. Find Files with Specific File Permissions (Readable by Owner Only)ΒΆ

find /var/log -perm 600

25. Find Files Larger Than 1GB and Delete ThemΒΆ

find /var/log -size +1G -exec rm -f {} \;

26. Find Files and Limit Depth of Search to 1 LevelΒΆ

find /home/user -maxdepth 1 -name "*.txt"

27. Find Files Accessed More Than 90 Days AgoΒΆ

find /var/log -atime +90

28. Find Hidden FilesΒΆ

find /home/user -name ".*"

29. Find Files Created More Than 1 Day AgoΒΆ

find /home/user -ctime +1

30. Find Files by Their Type (e.g., Block Devices)ΒΆ

find /dev -type b

31. Find Files with Specific Permission and Exclude OthersΒΆ

find / -perm /a=r -not -perm /a=w

32. Find Files Containing a Specific String in the NameΒΆ

find /home/user -name "*config*"

33. Find Normal FilesΒΆ

find /root -type f -iname pom.xml

34. Find Socket FilesΒΆ

find / -type s

35. Find Files by SUID (User ID)ΒΆ

find /usr/bin -perm -4000

36. Find Files by SGID (Group ID)ΒΆ

find /usr/bin -perm -2000

37. Find Sticky FilesΒΆ

find /usr/bin -perm -1000

38. Advanced ExcludeΒΆ

find -name example ! ( -name ".." -o -name "." -o -name '\\\_\\\*.sql' )

39. Rename Files Extension RecursivelyΒΆ

find . -iname "*.yaml" -exec bash -c 'mv "$0" "${0%.yaml}.yml"' {} \;

Tips: When we mentioned %0 in Bash, We assumed you were referring to the special variable $0, which is commonly used in shell scripts. In fact %0 is a pointer to $0 variable.

Image of above commandsΒΆ