Encuentre el comando en Linux con ejemplos prácticos

Encuentre el comando en Linux con ejemplos prácticos

El comando Find es una utilidad versátil y poderosa en Linux, lo que permite a los usuarios buscar archivos y directorios basados ​​en diversos criterios, como nombre, tipo, tamaño, tiempo de modificación y más. Dominar el comando Find puede mejorar significativamente su eficiencia y efectividad cuando se trabaja con Linux Systems. Este artículo proporcionará una guía completa para el comando Find, acompañado de ejemplos prácticos.

Buscar sintaxis y opciones de comando

La sintaxis básica del comando Find es la siguiente:

encontrar [ruta] [expresión]
1encontrar [ruta] [expresión]
  • CAMINO: El directorio para comenzar la búsqueda.
  • EXPRESIÓN: Los criterios de búsqueda, incluidas las opciones y las pruebas.

Algunas opciones comunes incluyen:

  • -nombre: Busque archivos basados ​​en su nombre o patrón.
  • -tipo: Busque archivos basados ​​en su tipo (e.gramo., Archivos regulares, directorios, enlaces simbólicos).
  • -tamaño: Busque archivos en función de su tamaño.
  • -MITIA: Busque archivos en función de su tiempo de modificación.
  • -usuario: Busque archivos basados ​​en su propietario.
  • -grupo: Busque archivos basados ​​en su grupo.

Encontrar archivos por nombre

Para buscar archivos por su nombre o patrón, use el -nombre opción seguida del nombre del archivo o patrón encerrado en cotizaciones individuales.

  • Búsqueda sensible a la caja:
    find/rath/to/directorio -name 'nombre de archivo.TXT'  
  • Búsqueda insensible al caso:
    find/rath/to/directorio -iname 'nombre de archivo.TXT'  
  • Usando comodines:
    find/rath/to/directorio -name '*.TXT'  

Encontrar archivos por tipo:

Para buscar archivos en función de su tipo, use el -tipo opción seguida del especificador de tipo de archivo.

  • Archivos regulares:
    find/rath/to/directorio -type f  
  • Directorios:
    find/rath/to/directorio -type d  
  • Enlaces simbólicos:
    find/rath/to/directorio -type l  

Encontrar archivos por tamaño:

Para buscar archivos en función de su tamaño, use el -tamaño opción seguida de un operador de comparación (+, -, o =) y el tamaño del archivo.

  • Archivos más grandes que 1 MB:
    find/rath/to/directorio -size +1m  
  • Archivos más pequeños que 10 kb:
    find/rath/to/directorio -size -10k  
  • Archiva exactamente 512 bytes:
    find/rath/to/directorio -size 512c  

Encontrar archivos por tiempo de modificación:

Para buscar archivos en función de su tiempo de modificación, use el -MITIA opción seguida de un operador de comparación (+, -, o =) y la cantidad de días.

  • Archivos modificados en los últimos 7 días:
    find/rath/to/directorio -mtime -7  
  • Archivos no modificados en los últimos 30 días:
    find/rath/to/directorio -mtime +30  
  • Archivos modificados exactamente hace 14 días:
    Find/Path/TO/Directory -Mtime 14  

Encontrar archivos por propietario y grupo:

Para buscar archivos basados ​​en su propietario o grupo, use el -usuario o -grupo opción seguida del nombre de usuario o nombre de grupo.

  • Archivos propiedad del usuario 'John':
    encontrar/ruta/a/directorio -user John  
  • Archivos que pertenecen a los 'desarrolladores' del grupo:
    Find/Path/TO/Directory -Group Developers  

Ejecución de comandos en archivos encontrados:

Para realizar acciones en archivos encontrados, use el -ejecución opción seguida del comando y un par de aparatos ortopédicos () como marcador de posición para la ruta del archivo. El comando debe terminar con un punto y coma (;), que debe ser escapado o encerrado en citas individuales.

  • Eliminar archivos encontrados:
    find/rath/to/directorio -name '*.bak '-exec rm  \;  
  • Mover archivos encontrados a un directorio específico:
    find/rath/to/directorio -name '*.log '-exec mv /rath/to/destino \;  
  • Cambiar los permisos de archivo:
    find/rath/to/directorio -type f -exec chmod 644  \;  

Combinando múltiples criterios de búsqueda:

Para combinar múltiples criterios de búsqueda, use operadores lógicos como -y, -o, y -no.

  • Encuentre archivos mayores a 1 MB y se modifique en los últimos 7 días:
    find/rath/to/directorio -size +1m -y -mtime -7  
  • Encontrar archivos propiedad de 'John' o pertenecer al 'desarrolladores' grupo:
    Find/Path/TO/Directory -User John -or -grups desarrolladores  
  • Encuentre todos los archivos excluyendo aquellos con un '.TMP ' extensión:
    find/rath/to/directorio -not -name '*.TMP '  

Técnicas de comando de búsqueda avanzada:

  • Usando patrones regex con el comando finales:
    find/rath/to/directorio -type f -regex '.*\.\ (txt \ | log \) '  
  • Encontrar y manejar enlaces simbólicos rotos:
    find/rath/to/directorio -type l -xtype l -exec rm  \;  
  • Buscar dentro de directorios específicos o excluir ciertos directorios:
    Find/Path/To/Directory -Path '/Path/TO/Exclute/*' -prune -or -name '*.txt '-impresión  

Las mejores prácticas para usar el comando Find:

  • Inicie su búsqueda del directorio más específico para optimizar el proceso de búsqueda.
  • Use comodines y patrones regexuales sabiamente para refinar sus resultados de búsqueda.
  • Verifique sus criterios de búsqueda antes de ejecutar comandos en archivos encontrados para evitar acciones no deseadas.
  • Siempre escape o cita caracteres especiales como espacios, soportes y semicolones para garantizar una interpretación precisa por parte del caparazón.

Conclusión

Dominar el comando Find en Linux es crucial para buscar y administrar eficientemente archivos en su sistema. Al comprender su sintaxis, opciones y ejemplos prácticos, puede mejorar su competencia en el uso de esta poderosa utilidad. Recuerde seguir las mejores prácticas al usar el comando Find para garantizar que sus búsquedas sean precisas y efectivas.