Jueves, Diciembre 02, 2021

Find : ¿Cómo localizar lo que deseas buscar?

linux_lupa

El comando find es uno de los más importantes en el mundo *nix. En Linux se puede usar para localizar todo aquello que necesitas, como directorios y ficheros. Además, es extremadamente poderoso y flexible, ya que admite argumentos y opciones para crear prácticos filtros (fecha, tamaño, tipo, nombre, extensión,…). Incluso puede ser una práctica herramienta para auditar la seguridad de la distro, ya que también podrá localizar ficheros o directorios con permisos inapropiados.

Sin embargo, debido a esa versatilidad y cantidad de opciones, no es de los comandos que más fáciles son de recordar, y muchos usuarios siguen teniendo ciertos problemas. Por eso, aquí verás algunos ejemplos prácticos de los más prácticos para que aprendas a defenderte con find:

Buscar un archivo o directorio por su nombre (en el directorio actual, en todos los directorios, y con sensibilidad para distinguir entre minúsculas y mayúsculas):

find . -name "ejemplo.txt"
find / -name "ejemplo.txt"
find . -iname "ejemplo.txt"

Buscar un archivo o directorio por su nombre dentro de un directorio concreto:

find /home/usuario/prueba -name "ejemplo.txt"

Buscar todos los directorios (puedes usar l para enlaces simbólicos, c para dispositivos de carácter, f para ficheros, y b para dispositivos de bloque) y evitar archivos, o usar también el nombre:

find /home/usuario/prueba -type d
find /home/usuario/prueba -type d -name "ejemplo"

Buscar archivos con una extensión particular:

find . -type f -name "*.txt"

Buscar archivos por su nombre y eliminarlo:

find . -name "ejemplo.txt" -delete

Buscar todos los archivos accedidos más viejos de 10 años, o también puedes hacerlo por fecha de modificación en los últimos 60 min y por fecha de cambios en menos de 1 día:

find / -atime 10
find / -mmin -60
find / -ctime -1

Buscar los archivos que sean mayores de 500MB y menores de 1GB:

find / -size +500M -size -1G

Buscar los archivos que superan los 10GB y eliminarlos de una sola vez:

find / -size +10G -exec rm -rfv {} \;

Buscar los archivos que pertenezcan a un usuario o a un grupo:

find / -user nombre
find / -group nombre

Buscar los archivos que tengan unos permisos concretos:

find / -perm 644

Buscar los archivos vacíos (si cambias f por d puedes buscar directorios vacíos):

find / -type f -empty

Buscar los archivos ocultos (d en vez de f para directorios ocultos):

find / -type f -name ".*"

Buscar texto dentro de ficheros:

find / -type f -name "*.txt" -exec grep 'texto-a-buscar' {} \;

 

Fuente: somoslibres

¿Quién está en línea?

Hay 131 invitados y ningún miembro en línea

Contador de Visitas

12597933
Hoy Hoy 1719
Ayer Ayer 4707
Esta semana Esta semana 15225
Este mes Este mes 6426
Total de Visitas Total de Visitas 12597933

Día con más
visitantes

11-10-2021 : 5280

Gracias por su visita