Part I: Basic Find Commands for Finding Files with Names
——————————————————–
1. Find Files Using Name in Current Directory
*********************************************
Find all the files whose name is tecmint.txt in a current working directory.
# find . -name tecmint.txt

./tecmint.txt

2. Find Files Under Home Directory
**********************************
Find all the files under /home directory with name tecmint.txt.
# find /home -name tecmint.txt

/home/tecmint.txt

3. Find Files Using Name and Ignoring Case
******************************************
Find all the files whose name is tecmint.txt and contains both capital and small letters in /home directory.
# find /home -iname tecmint.txt

./tecmint.txt
./Tecmint.txt

4. Find Directories Using Name
******************************
Find all directories whose name is Tecmint in / directory.
# find / -type d -name Tecmint

/Tecmint

5. Find PHP Files Using Name
****************************
Find all php files whose name is tecmint.php in a current working directory.
# find . -type f -name tecmint.php

./tecmint.php
6. Find all PHP Files in Directory
**********************************
Find all php files in a directory.
# find . -type f -name “*.php”

./tecmint.php
./login.php
./index.php
Part II: Find Files Based on their Permissions
———————————————-
7. Find Files With 777 Permissions
**********************************
Find all the files whose permissions are 777.

# find . -type f -perm 0777 -print

8. Find Files Without 777 Permissions
*************************************
Find all the files without permission 777.

# find / -type f ! -perm 777

9. Find SGID Files with 644 Permissions
***************************************
Find all the SGID bit files whose permissions set to 644.
# find / -perm 2644

10. Find Sticky Bit Files with 551 Permissions
**********************************************
Find all the Sticky Bit set files whose permission are 551.

# find / -perm 1551

11. Find SUID Files
*******************
Find all SUID set files.

# find / -perm /u=s

12. Find SGID Files
*******************
Find all SGID set files.

# find / -perm /g+s

13. Find Read Only Files
************************
Find all Read Only files.

# find / -perm /u=r

14. Find Executable Files
*************************
Find all Executable files.

# find / -perm /a=x
15. Find Files with 777 Permissions and Chmod to 644
****************************************************
Find all 777 permission files and use chmod command to set permissions to 644.

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

16. Find Directories with 777 Permissions and Chmod to 755
**********************************************************
Find all 777 permission directories and use chmod command to set permissions to 755.

# find / -type d -perm 777 -print -exec chmod 755 {} \;

17. Find and remove single File
*******************************
To find a single file called tecmint.txt and remove it.

# find . -type f -name “tecmint.txt” -exec rm -f {} \;

18. Find and remove Multiple File
*********************************

To find and remove multiple files such as .mp3 or .txt, then use.

# find . -type f -name “*.txt” -exec rm -f {} \;

OR

# find . -type f -name “*.mp3” -exec rm -f {} \;

19. Find all Empty Files
************************

To file all empty files under certain path.

# find /tmp -type f -empty
20. Find all Empty Directories
******************************

To file all empty directories under certain path.

# find /tmp -type d -empty

21. File all Hidden Files
*************************

To find all hidden files, use below command.

# find /tmp -type f -name “.*”
Part III: Search Files Based On Owners and Groups
————————————————-

22. Find Single File Based on User
**********************************

To find all or single file called tecmint.txt under / root directory of owner root.

# find / -user root -name tecmint.txt

23. Find all Files Based on User
*********************************

To find all files that belongs to user Tecmint under /home directory.

# find /home -user tecmint

24. Find all Files Based on Group
*********************************

To find all files that belongs to group Developer under /home directory.

# find /home -group developer

25. Find Particular Files of User
*********************************

To find all .txt files of user Tecmint under /home directory.

# find /home -user tecmint -iname “*.txt”

Part IV: Find Files and Directories Based on Date and Time
———————————————————-
26. Find Last 50 Days Modified Files
************************************

To find all the files which are modified 50 days back.

# find / -mtime 50

27. Find Last 50 Days Accessed Files
************************************

To find all the files which are accessed 50 days back.

# find / -atime 50

28. Find Last 50-100 Days Modified Files
****************************************

To find all the files which are modified more than 50 days back and less than 100 days.

# find / -mtime +50 –mtime -100

29. Find Changed Files in Last 1 Hour
*************************************

To find all the files which are changed in last 1 hour.

# find / -cmin -60

30. Find Modified Files in Last 1 Hour
**************************************

To find all the files which are modified in last 1 hour.

# find / -mmin -60

31. Find Accessed Files in Last 1 Hour
**************************************
To find all the files which are accessed in last 1 hour.

# find / -amin -60
Part V: Find Files and Directories Based on Size
————————————————
32. Find 50MB Files
*******************

To find all 50MB files, use.

# find / -size 50M

33. Find Size between 50MB – 100MB
**********************************

To find all the files which are greater than 50MB and less than 100MB.

# find / -size +50M -size -100M

34. Find and Delete 100MB Files
*******************************

To find all 100MB files and delete them using one single command.

# find / -size +100M -exec rm -rf {} \;

35. Find Specific Files and Delete
**********************************

Find all .mp3 files with more than 10MB and delete them using one single command.

# find / -type f -name *.mp3 -size +10M -exec rm {} \;