This is an old revision of the document!
find $HOME -depth -type d -empty
This will find empty directories in your home directory.
find $HOME -depth -type f -empty
This will finde empty common files in your home directory.
find $HOME -name [name_of_file]
This will find files with a given name in any child directory of your home.
find $HOME -name "*.[given_extension]"
This find files wit the given extension all along your home, an example to find jpg files is:
find $HOME -name '*.jpg'
find $HOME -perm [permission bits]
This will find files with the given permission bits in your home, as an example we can look for .txt files that can have 644 bits on.
find $HOME -name '*.txt' -perm 644
find $HOME -perm -[permision_bits]
This will find files in your home that have match with the given permissions but that can also have some others, as an example:
find $HOME -name '*.txt' -perm -644
This will find the files with 644 but also some with 664 or 777 or anything “greater” than 644.
Output comparison Let's see some output comparison for this to be better understood.
find $HOME -name '*.txt' -perm 644 -exec ls -l {} \; -rw-r--r-- 1 root root 181 2007-10-09 23:27 /home/benp/a.txt -rw-r--r-- 1 benp benp 2757 2007-08-29 23:52 /home/benp/b.txt -rw-r--r-- 1 benp benp 77431 2007-09-05 23:11 /home/benp/c.txt
find $HOME -name '*.txt' -perm -644 -exec ls -l {} \; -rw-r--r-- 1 root root 181 2007-10-09 23:27 /home/benp/a.txt -rw-r--r-- 1 benp benp 2757 2007-08-29 23:52 /home/benp/b.txt -rw-r--r-- 1 benp benp 77431 2007-09-05 23:11 /home/benp/c.txt -rw-rw-r-- 1 benp benp 464 2007-09-06 01:23 /home/benp/d.txt
As you may see in the first example we do not see the file
d.txt
as it has 664 permissions.
But, on the second output, it is listed as it has “greater” permissions than 644.
find -size n[cwbkMG]
This will output the files of a given block size, as an example we can see:
find $HOME -name '*.txt' -size 4k -exec ls -l {} \;
And the output is:
-rw-r--r-- 1 benpbenp 3707 2007-07-25 15:48 /home/benp/README.txt -rw-r--r-- 1 benpbenp 4043 2007-01-22 15:44 /home/benp/Desktop/front/README.txt -rw-r--r-- 1 benp benp 3112 2007-09-23 15:39 /home/benp/Desktop/adsense/README.txt -rw-r--r-- 1 benp benp 3707 2007-09-23 15:39 /home/benp/Desktop/akismet/README.txt -rw-r--r-- 1 benp benp 3616 2007-09-23 15:39 /home/benp/Desktop/show-to-install.txt
Now let's see this other:
find $HOME -name '*.txt' -size 5k -exec ls -l {} \;
And the output is:
-rw-r--r-- 1 benp benp 4496 2007-09-23 15:39 /home/benp/captcha.txt
Now if you divide each file size by 1024 (1k) you will see that the first output is always lower than 4096 (4k) and upper 3072 (3k), on the second output you have it between 4096 (4k) and 5120 (5k).
find -name '[given_name].*'
This will output the files of any given name but with any extension
find -mtime n
Where n is: 0 for the last 24 hours 1 for the last 48 hours 2 for the last 72 hours and so on.
find -atime n
Where n is: 0 for the last 24 hours 1 for the last 48 hours 2 for the last 72 hours and so on.