Inicio > Gestión de archivos y directorios > find

Dominando el comando find

Esta es una guía para el comando `find`, que se utiliza para buscar archivos y directorios dentro del sistema de archivos en Linux. Puede encontrar eficientemente los archivos que desea combinando varias condiciones y acciones.

Opciones principales

Intente buscar y procesar archivos dentro del sistema de archivos combinando las diversas opciones del comando `find`.

1. Búsqueda básica

2. Condiciones de tiempo

3. Condiciones de tamaño y permisos

4. Acciones

Comando generado:

Combina los comandos.

Descripción:

`find` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Operadores lógicos

El comando `find` proporciona operadores lógicos para realizar búsquedas más precisas combinando múltiples condiciones.

Operadores lógicos principales Operadores utilizados para combinar múltiples condiciones. Por defecto se aplica AND (`-a`).
Operador Descripción Ejemplo
-and (o se omite) Cuando ambas condiciones, la izquierda y la derecha, son verdaderas `find . -name "*.txt" -and -size +1M`
-or Cuando al menos una de las condiciones, la izquierda o la derecha, es verdadera `find . -name "*.log" -or -name "*.tmp"`
-not (o !) Cuando la condición es falsa `find . -not -name "*.txt"`
( ) Agrupación de condiciones (requiere escape) `find . \( -name "*.txt" -or -name "*.doc" \)`

Precedencia de operadores

Los operadores del comando `find` se evalúan generalmente de manera que las acciones se procesan después de las expresiones. Dentro de las condiciones, se pueden usar paréntesis (`()`) para especificar explícitamente la precedencia. Al usar paréntesis, deben ser escapados con una barra invertida (`\`) ya que tienen un significado especial en la shell.

Ejemplos de uso

Practique la búsqueda y gestión de archivos a través de ejemplos de uso prácticos del comando `find`.

Buscar todos los archivos con la extensión '.log' en el directorio actual

find . -name "*.log"

Busca todos los archivos que terminan en `.log` en la ubicación actual.

Buscar archivos de más de 50 MB

find /var -size +50M

Busca todos los archivos que superan los 50 MB de tamaño en el directorio `/var` del sistema.

Buscar archivos 'conf' modificados en los últimos 7 días

find . -name "*.conf" -mtime -7

Busca archivos `.conf` modificados en los últimos 7 días en el directorio actual.

Buscar todos los directorios con permiso de acceso 777

find / -type d -perm 777

Busca directorios con permisos establecidos en 777 en todo el sistema para verificar riesgos de seguridad.

Eliminar archivos '.tmp' antiguos

find /tmp -name "*.tmp" -mtime +30 -delete

Busca y elimina todos los archivos `.tmp` de más de 30 días en el directorio `/tmp`.

Ejecutar un comando específico en archivos encontrados (chmod)

find . -name "*.sh" -exec chmod 755 {} \;

Otorga permisos de ejecución (755) a todos los archivos con la extensión `.sh` en el directorio actual.

Buscar archivos de más de 1 GB propiedad de un usuario específico

find /home -user user1 -size +1G

Busca archivos en el directorio `/home` que son propiedad de `user1` y son mayores de 1 GB.


Comandos de la misma categoría