Busca “prueba.txt” en /mnt y los subdirectorios que tenga. Se puede usar comodinespara el nombre de fichero
find /mnt -name prueba.txt
Buscar archivos “core” con más de 2 Mb:
find ~/ -name core -size +2048k
Cambiar permisos de ficheros y directorios:
find ~/public_html -type d -exec chmod 711 {} \;
find ~/public_html -type f -exec chmod 644 {} \;
Buscar los archivos ”.bak” en el directorio actual(incluyendo subdirectorios):
for i in $(find . -name "*.bak"); do rm $i; echo "buscando ..."; done
$(…) será ejecutado previo al for ya que su resultado será utilizado como entrada de éste último.
El mismo objetivo pero aprovechando la potencia del comando find:
find /directorio -iname *.bak -exec rm {} \;
; debe estar escapeado( \; pues formará parte del comando a ser ejecutado por -exec y no como cierre del find. {} será reemplazado por el nombre de cada uno de los archivos encontrados.
find . -name '*.config' -mtime 1 -print -cpio /dev/rmt1
Busca la estructura de directorio completo empezando por el directorio actual por archivos que su nombre terminan en .config que fueron modificados hace un día. La opción -name la cual es una expresión de búsqueda iguala archivos con nombres que terminan en .config y opción
-mtime es otra expresión de búsqueda que iguala archivos que fueron modificados un día atrás. La expresión de accion -print imprime el nombre del archivo a pantalla y la expresión de accion -cpio escribe los archivos al dispositivo de cintas /dev/rmt1. Las expresiones de búsqueda y accion más usadas se muestran más adelante.
find . -type f -exec grep "texto" {} /dev/null \;
Si bien es posible realizar búsquedas usando find como pueden ver, no es recomendable hacerlo, ya que se debería utilizar el comando grep directamente:
grep -r "texto" *
Pueden probar también rgrep, zgrep, fgrep y egrep que son variaciones del comando grep pero con parámetros ya preestablecidos.
Buscar en todo el directorio home incluyendo todos los subdirectorios por un archivo de nombre perdido.txt e imprime la ruta a al archivo en la pantalla.
$ find ~ -name 'perdido.txt' -print
~ especifica su directorio home.
Empezando por el directorio home, recursivamente busca en todos los archivos cuyos sus nombres terminan en extensión .cpp e imprima el resultado a la pantalla.</note>
$ find ~ -name '*.cpp' -print
Busque todos los archivos empezando desde el directorio actual que su nombre empieza con carta y tiene un carácter más.
$ find . -name 'carta?' -print
Esta sentencia encontraría archivos nombrados carta1, cartad y cartas, pero no a carta o carta12.
. especifica el directorio actual.
Busque todos los archivos empezando con el directorio actual que su nombre empieza con una letra mayúscula y termina con un número.
$ find . -name '[A-Z]*[0-9]' -print
Busque todos los archivos empezando con el directorio /usr/local/install de nombre readme o Readme:
$ find /usr/local/install -name '[R,r]eadme' -print
Esto también se puede lograr con la expresión compuesta.
$ find /usr/local/install \( -name 'readme' -o -name 'Readme' \) -print
Busqueda de archivos usando permisos relativos:
$ find ~ -perm /g=rw, o=r -type f
Referencias: http://www.scribd.com/doc/37791/GNULinux-Basicamente?page=54