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