Skip to main content

Find, Locate, and Grep

====================================================================================

FIND

Find is a linux search tool that can be used to find a variety of files based on the given criteria.

------------------------------------------------------------------------------------------------------------------------------------------------ Basic find

find targetdirectory -name stringtofind

find / -name hello.txt
wildcards
find / -name "*.txt"
Discard errors (ie permission denied)
find / -name "*.txt" 2>/dev/null

------------------------------------------------------------------------------------------------------------------------------------------------

 Find files with specific permissions

Find files with read,write, and execute permissions

find / -perm +rwx

------------------------------------------------------------------------------------------------------------------------------------------------ 

Find files by size

Find files that are greater than 2MB:

find / -size +2M

Find files that are less than 2MB:

find / -size -2M

Find files that are exactly 2MB:

find / -size 2M

------------------------------------------------------------------------------------------------------------------------------------------------ 

Find files by owner/group

Find files based on group

find / -group groupname

Find files based on owner

find / -user username

====================================================================================

LOCATE

Locate is similar to find in its functionality, however, there are some important distinctions:

  • Locate keeps it's own database of files on a system
  • Locate is less disk IO intensive since it doesn't have to scan the whole hard drive for files, instead it references it's own database.
  • Locate isn't installed by default on most systems, the package name is mlocate. Once installed, you'll need to run the updated command to update locate's database - this should really be updated every time you use the command

------------------------------------------------------------------------------------------------------------------------------------------------

Locate file based on name
locate test.txt

------------------------------------------------------------------------------------------------------------------------------------------------