Volver al índice


find

Buscar archivos o directorios

$ find / -iname archivo (Busca en / archivo sin distinguir minusculas y mayusculas)

$ find /home -name *.png -print (Buscará en /home todos los archivos “.png” y mostrará la ruta)

$ find . -name "*.bak" -exec rm {} ; (buscará en el directorio todos los acabados en .bak y los borrará. la instrucción "-exec" seguido del comando a ejecutar. los corchetes {} se refiere a los ficheros que find ha encontrado y la barra invertida seguido de punto y coma ; indica el final de la instrucción)

$ find . ! -iname “.png” ! -name “.jpg” (Buscar en el directorio actual todos los archivos menos los acabados en png y jpg)

$ find . -type f -iname '.txt' -o -iname '.pdf' (buscar en el directorio actual y subdirectorios todos los .txt y los .pdf)

$ find . -amin -15 (Buscar los que se ha accedido en los últimos 15 minutos)

$ find . -atime 15 (Buscar los que se accedió por última vez hace 15 dias)

$ find / -amin -10 (Los que se ha accedido los últimos 10 minutos)

$ find . -type f (Buscar ficheros)

$ find . -type d (Buscar directorios)

$ find / -iname fichero 2>/dev/null (buscar redireccionando los avisos de permiso denegado a /dev/null)

$ find . -iname ".txt" -or -iname ".odt" -exec cp {} documentos ; (Buscar los txt y los odt y copiarlos a la carpeta documentos)

$ find . -type d -exec chmod 0755 {} ; (Cambiar permisos de todos los directorios y subdirectorios)

$ find . -type f -exec chmod 0644 {} ; (Cambiar permisos de todos los ficheros del directorio y de los subdirectorios)

$ find . -type f -iname "*.bak" | xargs rm (buscar los ficheros acabados en .bak y borrarlos. xargs hace lo mismo que exec pero usando una tuberia.)

$ find /home/usuario -iname '*.bak' -delete (Otra forma de borrar todos los .bak de un directorio)

$ find . -type f -iname *.sla (buscará los ficheros .sla)

$ find . -type f -mtime 0 (Buscará los ficheros creados o modificados hoy)

$ find / -type f -mtime -1 -print (Los modificados las últimas 24 horas)

$ find / -mtime +2 -print (Los modificados hace más de dos dias)

$ find -L . -type l (Buscar enlaces rotos)

$ find . -type f -size +300k > masde300k.txt (buscar .sh mayores de 300k)

$ find ./ -name .svn -exec rm -rf {} ; (eliminar todos los directorios y subdirectorios subversión)

$ find . -name "*.html" -exec grep -i -H "Tractatus elementalis" {} ; (Buscar en todos los archivos html del directorio actual con un texto concreto)

$ find . -name *.txt -exec sed -i "s/cosa/casa/g" {} ; (Substituir “cosa” por “casa” en todos los .txt del presente directorio)

$ find ~/ -depth -type f -empty (Buscar archivos vacios. Con -type d buscará directorios vacios)

$ find / -name "algo" -a ! -path "/media/servidor/*" -exec echo {} ; 2>/dev/null (Buscar "algo" descartando el directorio /media/servidor/)

$ find /home/usuario -iname '*.odt' -exec cp '{}' /home/usuario/Documentos ; (Copiar todos los odt a la carpeta Documentos)

$ find . -type f -amin -5 ! -path "./.*" (Buscar ficheros modificados los últimos 5 minutos descartando los ocultos)

$ find . ! -name "plantilla" -type f -delete | find . ! -name HTMLS -type d -delete (borrar todos menos los "plantilla" y el directorio "HTMLS")


Volver al índice