Hace algunos días escribí el post «Comandos linux: find con ejemplos» y me enfoqué en que cualquier persona nueva en esto de los comandos linux entendiera como funciona el comando find con algunos ejemplos sencillos, pero algunas de las personas que comentaron el post en Facebook y otras redes pidieron que se mostraran formas más avanzadas de utilizar el comando linux find y como sacarle utilidad con ejemplos mas poderosos. Aquí te digo como usar el comando find en linux para coas un poco mas avanzadas.
Ejemplos del comando linux find a nivel intermedio
Bueno ya vimos los ejemplos básicos del comando linux find, ahora vamos a ver como podemos sacar más provecho de este comando que es realmente poderoso si sabes como usarlo.
Buscar archivos por Permisos y conjuntos de bits sgid/suid
El parámetro -perm te da la opción de buscar por archivos que cumplan ciertos permisos, ya sea que busques los archivos con permiso de ejecución, lectura (o sin el) o que tengan o no el permiso de escritura. Aquí los ejemplos:
find . -type f -perm 0664 ./abc.txt ./pruena/test.php ./abc.php ./nuevo.php
Puedes buscar archivos con permisos incorrectos o que puedan ser un problema de seguridad para tu sistema linux. Recuerda que también puedes aplicar el caracter ! para indicar la negación de la búsqueda.
find . -type f ! -perm 0777 ./abc.txt ./pruena/test.php ./abc.php ./nuevo.php
El parámetro -perm también te permite buscar archivos con permisos que tengan permisos especiales como el sgid
find / -perm 2644
O que tengan el sticky bit, en este ejemplo es importante hacer notar que «2>/dev/null» no muestra los archivos que devuelven el error «Permiso Denegado».
find / -maxdepth 2 -perm /u=s 2>/dev/null /bin/mount /bin/su /bin/ping6 /bin/fusermount /bin/ping /bin/umount /sbin/mount.ecryptfs_private
Para bucar archivos que tengan el permiso de lectura puedes indicarlos mediante -perm /u=r como se muestra en el siguiente ejemplo:
find /etc -maxdepth 1 -perm /u=r /etc /etc/thunderbird /etc/brltty /etc/dkms /etc/phpmyadmin ....
También es posible encontrar los archivos que tienen el permiso de ejecución en una ruta específica, para este ejemplo podemos listar los achivos en /bin, es importante aclarar que los directorios aparecen en este listado ya que el permiso de ejecución en los directorios se interpreta como permiso de «acceso».
find /bin -maxdepth 2 -perm /a=x /bin /bin/preseed_command /bin/mount /bin/zfgrep /bin/tempfile ...
Buscar archivos por Usuarios y Grupos de Usuarios
Otra ventaja del comando find es que puedes localizar archivos que pertenezcan a cierto usuario o a cierto grupo, para hacer esto puedes utilizar el parámetro -user y el parámetro -group mira estos ejemplos para que sepas como funciona
Para encontrar todos los archivos del usuario «luis» dentro del directorio actual
find . -user luis . ./abc.txt ./abc ./prueba ./prueba/test.php ./index.php
Para encontrar los archivos que pertenezcan a un grupo, por ejemplo «web-data»
find /var/www -group web-data
Buscar archivos por el tiempo o fecha de modificación
Para buscar los archivos que han sido modificados en los últimos 50 días
find /home/usuario/ -mtime 50
Para buscar los archivos que han diso accesados en los últimos 7 días y utilizando el símbolo ~ para indicar el directorio «del usuario»
find ~ -atime 7
Para buscar los archivos modificados en un rango de tiempo, por ejemplo de hace 30 días hasta hace 60 días.
find / -mtime +30 -mtime -60
Para encontrar los archivos que han cambiado en los últimos 60 minutos
find /home/usuario -cmin -60
Para listar los archivos modificados en los últimos 60 minutos
find / -mmin -60
Para buscar los archivos que han sido accedidos en los últimos 60 minutos
find / -amin -60
Si te das cuenta el comando linux find es muy poderoso y aun no es todo pues hay forma de no solo encontrar archivos sino hacer algo con ellos y realizar tareas específicas pero esto lo veremos en los ejemplos avanzados.
Que otros ejemplos de find tienes para compartir, dejame tu comentario sobre el comando find.
Comandos Linux: find (primera parte)
Comandos Linux: find con ejemplos (segunda parte)
Comandos Linux: find con ejemplos (tercera parte)
Tu Servidor y Amigo
Luis Armando Medina
Sígueme en Twitter: @larmedina
Haz click en «Me Gusta» y deja un comentario:
By Bitacoras.com 11/06/2013 - 1:22 pm
Información Bitacoras.com
Valora en Bitacoras.com: Hace algunos días escribí el post “Comandos linux: find con ejemplos” y me enfoqué en que cualquier persona nueva en esto de los comandos linux entendiera como funciona el comando find con algunos ejemplos sencillos, p…
By Comandos linux: find con ejemplos | Blog – BuilderSoft Networks 12/13/2016 - 12:31 pm
[…] algún tiempo escribí sobre el comando find y una segunda parte donde explicaba con ejemplos como se usa el comando linux find para encontrar diversos tipos de […]