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 numeroSe 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 / -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.
find / -mmin +20-mmin -60 -type dPara 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 horasTambien 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 . -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.
find /home -name 'programa*' -and -mmin 120Busqueda 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