find Howto info find vela zujimavych info find . -name 'jak?b' najde v suc dir jak?b find . -mtime -1 najde v suc dir subory ktory boli modifikovane v predoslych 24 h (mtime, ctime, atime) modify (write) change (write+attrib set) access (pristup read) find . -ctime +8 -ctime -10 najde subory ktore boli menene v intervale (8;10) den find . -name '*' -printf "%p\t%m\t%U\t%G\n" vytlaci menosuboru\tmode\tUID\tGUID find / -user jakub najde vsetky subory usera jakub v / find / -uid 500 \( -path '/home/jakub' -prune -or -print \) najde vsetky subory uid 500 ale nebude hladat v /home/jakub Celkom cool script na zbalenie html suborov #!/bin/sh case $1 in 1) find . -name '*.html' -exec gzip {} \; for i in `find . -name '*.html.gz'` do echo $i mv -f $i `echo $i | sed -e 's/\.html\.gz/\.ghtml/'` done ;; 0) for i in `find . -name '*.ghtml'` do mv -f $i `echo $i | sed -e 's/\.ghtml/\.html\.gz/'` done find . -name '*.html.gz' -exec gzip -d {} \; ;; *) echo "Usage: $0 {1,0}" echo "Description: Gzip (gunzip) html files in current directory" exit 0 ;; esac Find and types find . -type f -- all regular files find . -type d -- all directories find . -type l -- all symlinks for more see man Find and permissions find . -perm -ug=x -- all what has x for user AND group find . -perm +ug=x -- all what has x for user OR group the above line can be written as find . -perm -u=x -or -perm -g=x Using OR in statements the above for regular files notice that we have to write type twice find . -type f -perm -u=x -or -type f -perm -g=x the same goes for AND -a NOT -not etc. Yet another funny example #!/bin/sh #this two are equal #find / -type f -perm +ug=s -exec ls -l {} \; #find / -type f -perm -4000 -exec ls -l '{}' ';' -or \ #-type f -perm -2000 -exec ls -l '{}' ';' WHAT=$1 if [ -z $WHAT ] ;then WHAT=/ fi find $WHAT -type f -perm +ug=s -printf "%m " -exec ls -l {} \; or watch this use in Makefiles - it deletes all regular files and symlinks in wd not of the selected names clean: find . -not \( -iname '*.pl' -or -iname '*.c' -or -iname '*.h' -or -iname 'makefile' -or -name '..' -or -name '.' -or -iname '*.sh' \) \( -type f -or -type l \) -maxdepth 1 -print -exec rm {} \;