Find command example
find . -type f -size +10000 -exec ls -al {} \;
find . -atime +1 -type f -exec mv {} TMP \; # mv files older then 1 day to dir TMP
find . -name “-F” -exec rm {} \; # a script error created a file called -F
find . -exec grep -i “vds admin” {} \;
find . \! -name “*.Z” -exec compress -f {} \;
find . -type f \! -name “*.Z” \! -name “.comment” -print | tee -a /tmp/list
find . -name *.ini
find . -exec chmod 775 {} \;
find . -user xuser1 -exec chown -R user2 {} \;
find . -name ebtcom*
find . -name mkbook
find . -exec grep PW0 {} \;
find . -exec grep -i “pw0″ {} \;
find . -atime +6
find . -atime +6 -exec ll | more
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . -name auth*
find . -exec grep -i plotme10 {};
find . -exec grep -i plotme10 {} \;
find . -ls -exec grep ‘PLOT_FORMAT 22′ {} \;
find . -print -exec grep ‘PLOT_FORMAT 22′ {} \;
find . -print -exec grep ‘PLOT_FORMAT’ {} \;
find . -print -exec grep ‘PLOT_FORMAT’ {} \;
find ./machbook -exec chown 184 {} \;
find . \! -name ‘*.Z’ -exec compress {} \;
find . \! -name “*.Z” -exec compress -f {} \;
find /raid/03c/ecn -xdev -type f -print
find /raid/03c/ecn -xdev -path -type f -print
find / -name .ssh* -print | tee -a ssh-stuff
find . -name “*font*”
find . -name hpmcad*
find . -name *fnt*
find . -name hp_mcad* -print
find . -grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep PENWIDTH {} \; | more
find . -name config.pro
find . -name config.pro
find /raid -type d “.local_sd_customize” -print
find /raid -type d -name “.local_sd_customize” -print
find /raid -type d -name “.local_sd_customize” -ok cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find /raid -type d -name “.local_sd_customize” -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find . -name xeroxrelease
find . -exec grep xeroxrelease {} \;
find . -name xeroxrelease
find . -name xeroxrelease* -print 2>/dev/null
find . -name “*release*” 2>/dev/null
find / -name “*xerox*” 2>/dev/null
find . -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \; > xeroxrel.lis
find . -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \; | more
find /raid/03c/inwork -xdev -type f -print >> /raid/04d/user_scripts/prt_list.tmp
find . -exec grep ‘31.53′ {} \;
find . -ls -exec grep “31/.53″ {} \; > this.lis
find . -print -exec grep “31/.53″ {} \; > this.lis
find . -print -exec grep 31.53 {} \; > this.lis
find . -exec grep -i pen {} /;
find . -exec grep -i pen {} \;
find . -print -exec grep -i pen {} \; | more
find . -exec grep -i pen {} \;
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . \! -name ‘*.Z’ -exec compress -f {} \;
find . -name ‘cache*’ -depth -exec rm {} \;
find . -name ‘cache*’ -depth -print | tee -a /tmp/cachefiles
find . -name ‘cache[0-9][0-9]*’ -depth -print | tee -a /tmp/cachefiles
find . -name ‘hp_catfile’ ‘hp_catlock’ -depth -print | tee -a /tmp/hp.cats
find . -name ‘hp_catfile’ -name ‘hp_catlock’ -depth -print | tee -a /tmp/hp.cats
find . -name ‘hp_cat*’ -depth -print | tee -a /tmp/hp.cats
find . -name ‘hp_cat[fl]*’ -depth -print | tee -a /tmp/hp.cats
find /raid -name ‘hp_cat[fl]*’ -depth -print
find . \! -name ‘*.Z’ -exec compress -f {} \;
find . -name ‘*’ -exec compress -f {} \;
find . -xdev -name “wshp1*” -print
find . -xdev -name “wagoneer*” -print
find . -name “xcmd” -depth -print
find /usr/contrib/src -name “xcmd” -depth -print
find /raid -type d -name “.local_sd_customize” -exec ls {} \;
find /raid -type d -name “.local_sd_customize” \
-exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
on May 19th, 2008 at 12:30 pm
For troubleshooting a system that seems to have suddenly stopped working, find has a few tricks up its sleeve.
When a system stops working suddenly, the first question to ask is “what changed?”.
find / -mtime -1
That command will recursively list all the files from / that have changed in the last day.
To list all the files in /usr/lib that changed in the last 30 minutes.
find /usr/lib -mmin -30
Similar options exist for ctime and atime. To show all the files in /tmp that have been accessed in the last 30 minutes.
find /tmp -amin -30
The -atime/-amin options are useful when trying to determine if an app is actually reading the files it is supposed. If you run the app, then run that command where the files are, and nothing has been accessed, something is wrong.
If no “+” or “-” is given for the time value, find will match only exactly that time. This is handy in several cases. You can determine what files were modified/created at the same time.
A good example of this is cleaning up from a tar package that was unpacked into the wrong directory. Since all the files will have the same access time, you can use find and -exec to delete them all.
`find` can also find files with particular permisions set. To find all world writable files / down:
find / -perm -0777
To find all files in /tmp owned by “alikins”:
find /tmp -user alikins
on June 4th, 2008 at 10:07 am
To search some content in multiple files you can distribute your search like following way…
grep “IGEdev42″ `find ./ ! -name “_[0-9][0-9]” -type f -name “.xml”`
on July 16th, 2008 at 1:32 pm
ls -lat |grep “Jun [0-9]” |awk ‘{print $9}’ | xargs rm -f
on July 16th, 2008 at 1:38 pm
for i in `ipcs | grep apache0| awk ‘{print $2}’`; do ipcrm -s $i; ipcrm -S $i; ipcrm -m $i; don