;

Full width home advertisement

Tutoriales

Programación

Post Page Advertisement [Top]





El comando FIND  es uno de los mejores a la hora de buscar archivos en linux.   Puede encontrar tanto archivos como carpetas,  esto lo coloca por encima de archivos  de comandos parecidos sed y grep ademas de hacer búsquedas dentro los archivos.



La sintaxis es:

find [ruta] [expresión_de_búsqueda] [acción]




La [ruta]  es la sección donde se coloca el directorio donde se quiere realizar la busqueda.  Este campo es opciona, si no se agrega,  el comando por defecto busca en el directorio donde este en ese momento.

La  [expresión_de_búsqueda]  pueden ser una o mas acciones que pueden ayudar a filtrar la busqueda de archivos.  Este campo es opcional

La [acción]  es donde se ubica un comando cualquiera que quiera ser aplicado en el archivo o directorio buscado.   Es opcional.

Ejemplos de busquedas.


En el siguiente ejemplo se busca un archivo llamado "Documento" en la carpeta raíz.   En el segundo caso,  el comando "-iname" implica que las mayúsculas y minúsculas no se tomaran en cuenta.

find / -name Documento
find / -iname Documento 

Buscar todos los archivos que le pertenezcan al usuario Admin.

find /home -user Admin

Buscar todos los archivos que le pertenezcan al usuario Admin y que contenga en el nombre la palabra programa


find /home -user Admin -name "*programa*"

Buscar todos los archivos que le pertenezcan al usuario Admin y en tres directorios diferentes

find /etc /usr /var -group Admin


Se puede utilizar expresiones regulares para las búsquedas.

find / -name "[0-9]*"     -Archivos cuya nombre empiece por un numero
find / -name "[Mm]*"      -Archivos cuyo nombre empiece por M o m
find / -name "[a-m]*.txt" -Archivos cuyo nombre empiece  por la letras comprendidas entre a y m ademas cuya extension se txt.
Se puede realizar búsquedas basadas en el tiempo.   A continuación, esta búsqueda busca todos los archivos modificados entre  60 minutos  y 20 minutos antes de realizar la búsqueda.


find / -mmin +20-mmin -60 -type d
Para tomar en cuenta:


  • +n    busca valores mayor que n
  • -n    busca valores menor que n
  • n     busca exactamente el valor n




Find  tiene varias funciones  para busquedas a traves  del tiempo y fechas, como estas: -amin, -atime, -cmin, ctime, -mmin y -mtime.    siendo"min" es para medir en minutos y "time" para medir en periodos de 24 horas.

Ahora, cuando estos comandos tienen "a"  indica "access"   o cuando fue leido por ultima vez.  Mientras,  "c" indica "change" indicando cuando fue la ultima vez que su estatus fue modificado  y "m" indica "modify"  que señala cuando fue modificado por ultima vez.

find . -mtime 0 - archivos modificados las ultimas 24 horas
find . -mtime -1  -archivos que tienen mas de 24 horas de ser modificados.
find . -atime 1  -Archivos que fueron leidos entre 24 y 48 horas antes.
find . -ctime +1  -Archivos cuyo estatus fue modificado 48 horas antes.
Tambien se pueden utilizar operadores logicos para hacer las busquedas    En el siguiente caso se busca los archivos cuyo nombre tengan "programa" y que hayan sido modificados en los ultimos 120 minutos.

find /home -name 'programa*' -and -mmin 120
Busqueda  de todo los archivos cuyo nombre empieza con "programa" y que no sean del usuario Admin


find /home -name 'programa*' -not -user Admin


Espero que les sea de utilidad.  Saludos.

No hay comentarios:

Publicar un comentario

Bottom Ad [Post Page]

| Designed by Colorlib