Contents

Linux find Command Examples

Linux find commands.

empty files

Find empty (size 0) files

$ find /data -empty -ls

executable files

Find executable files

$ find /data -executable -ls

group id

Find files by group id

$  find /data -gid X -ls

user id

Find files by user id

$  find /data -uid X -ls

by group name

Find files by group name

$  find / -group name -ls

by username

Find files by user name

$  find / -user name -ls

type file

Find files (exclude dirs, devs, links etc.)

$  find / -type f -ls

by name

Find files by name (files with .txt extension for example)

$  find / -name *.txt -ls

find and execute cmd

Find files by name and search them (files with .log extension for example)

$  find / -name *.log -exec grep -iH error {} \;

user s bit

Find files with user s bit (u+s)

$  find / -perm -4000 -ls

group s bit

Find files with group s bit (g+s)

$  find / -perm -2000 -ls

others s bit

Find files with others s bit (o+s)

$  find / -perm -1000 -ls

example 1

Find and compress previous day’s logs

$  find /var/log -name *.$( date -d "1 day ago" '+%Y-%m-%d').log -exec gzip {} \;

example 2

Find and see logs files older than 30 days (dry run)

$  find /var/log -type f -mtime +30 -exec ls {} \;

example 3

Find and remove logs files older than 30 days (be careful)

$  find /var/log -type f -mtime +30 -exec rm -rf {} \;

example 4

Find files has been created under your home dir during last 5 mins

$  find ~/ -type f -cmin -5 -ls

example 5

Find files has been modified under your home dir during last 5 mins

$  find ~/ -type f -mmin -5 -ls