¿Cómo encontrar archivos en Linux?

Publicado: 2022-04-07

Tabla de contenido

Introducción:

Find es una utilidad de línea de comandos de UNIX que recorre una jerarquía de archivos. Puede usarlo para buscar y operar en archivos y directorios. Con este comando se pueden buscar archivos, carpetas, nombres, fechas de creación, fechas de modificación, propietarios y permisos.

Puede combinarlo aún más con la opción '- exec ' para realizar varias acciones en los resultados encontrados por el comando de find .

En este artículo aprenderemos cómo encontrar archivos en Linux usando el comando Buscar .

¿Cómo funciona el comando Buscar?

Find localiza archivos en su computadora. De acuerdo con las reglas de precedencia, evalúa cada expresión, de izquierda a derecha, dentro de cada árbol de directorios especificado por las rutas dadas. En las operaciones AND, o en las operaciones OR, el resultado se “conoce” cuando el lado izquierdo de la expresión es VERDADERO o FALSO. Buscar luego pasa al siguiente camino hasta que se hayan explorado todos los caminos.

El comando de find es la herramienta más fundamental y poderosa para trabajar con archivos en un sistema Linux. Los archivos se pueden ubicar solos o junto con otros programas.

Sintaxis:

find [options] [path…] [expression]

o

$ find [where to start searching from]

[la expresión determina qué encontrar] [-opciones] [qué encontrar]

  • El tratamiento de enlaces simbólicos, las opciones de depuración y la estrategia de optimización están controlados por la propiedad options .
  • La propiedad ruta ... especifica el directorio o directorios desde los cuales find buscará archivos.
  • Las opciones, los patrones de búsqueda y las acciones están separados por operadores en el atributo de expresión .

Opciones:

-exec CMD : el archivo que se está buscando que cumple con los criterios anteriores y devuelve 0 para un estado de salida de ejecución de comando exitoso.

-ok CMD : similar a -exec, pero se le solicita al usuario de antemano.

-inum N : busca archivos con el número 'N' en el inodo.

-enlaces N : Encuentra archivos que tienen enlaces 'N'.

-name demo : busque archivos con el nombre 'demo' en el nombre del archivo.

-archivo más nuevo : busque archivos que se hayan actualizado o creado desde 'archivo'.

-perm octal : si el permiso es 'octal', busque el archivo.

-print : Imprime los nombres de ruta de los archivos identificados utilizando los criterios restantes.

-vacío : busca archivos y carpetas que estén vacíos.

-tamaño +N/-N : busca archivos con bloques 'N'; 'N' seguida de 'c' se puede usar para medir el tamaño de los caracteres; '+N' denota bloques de tamaño > 'N', mientras que '-N' significa bloques de tamaño 'N'.

-nombre de usuario: busca archivos con el nombre de usuario 'nombre' o el ID 'nombre'.

(expr) : si 'expr' es verdadero, entonces verdadero; utilizado para agrupar criterios con OR o AND.

! expr : Verdadero si 'expr' es falso.

Expresiones:

Las opciones (que afectan la operación general en lugar del procesamiento de archivos y siempre devuelven verdadero), las pruebas (que devuelven un valor verdadero o falso) y las acciones (que tienen efectos secundarios y devuelven un valor verdadero o falso) están todas separadas por operadores en la expresión . Cuando el operador está ausente, -y se infiere.

Si la expresión no contiene acciones adicionales, se aplica -prune, -print a todos los archivos para los que es verdadera.

Por ejemplo, veamos el siguiente comando como ejemplo

find -L /var/www -name "*.js"

  • La opción -L (opciones) le dice al comando de búsqueda que siga enlaces simbólicos.
  • El /var/www (ruta...) especifica el directorio en el que se buscará.
  • La (expresión) -name "*.js le dice a find que busque archivos que terminan en .js (archivos de JavaScript).

Cómo encontrar archivos en Linux por nombre

Los archivos se pueden encontrar por nombre usando el comando de búsqueda . Puede buscar un archivo por su nombre usando la opción -name.

find -type f -name functions.php

Cómo encontrar archivos en Linux

use -iname en lugar de -name, para realizar una búsqueda que distinga entre mayúsculas y minúsculas

Cómo encontrar archivos en Linux por extensión

Puede buscar archivos por extensión del mismo modo que puede buscar archivos por nombre.

find -type f -name '*.php'

para encontrar archivos sin la extensión dada, use el siguiente comando

find -type f - not -name '*.php'

Buscar archivos por tipo

Si necesita encontrar un tipo de archivo específico, como un archivo normal, un directorio o un enlace simbólico, es posible que deba buscar tipos de archivos específicos. Todo en Linux es un archivo.

Especifique el tipo de archivo que está buscando utilizando la opción -type y uno de los siguientes descriptores:

  • f: un archivo normal
  • d: directorio
  • l: enlace simbólico
  • c: dispositivos de carácter
  • b: dispositivos de bloque
  • p: tubería con nombre (FIFO)
  • s: enchufe

find public_html/wp-admin/ -type d

Buscar archivos por tamaño

El parámetro -size se debe pasar junto con el parámetro de tamaño para buscar archivos en función de su tamaño. Los siguientes sufijos se pueden utilizar para especificar el tamaño del archivo:

  • b: bloques de 512 bytes (predeterminado)
  • c: bytes
  • w: palabras de dos bytes
  • k: kilobytes
  • M: Megabytes
  • G: Gigabytes

find . -type f -size -1M

Si desea buscar archivos con un tamaño superior a 1 MB, use +

find . -type f -size +1M

Incluso puede buscar archivos dentro de un rango de tamaño

find . -type f -size +1M -size 3M

Buscar archivos por modificación

El comando de búsqueda también se puede usar para buscar archivos en función de cuándo se modificaron, accedieron o cambiaron por última vez.

Utilice los caracteres más y menos para "más que" y "menos que", tal como lo haría al buscar por tamaño.

find . -mtime +30 -daystart

Buscar por permiso

Puede usar la opción -perm para buscar archivos según sus permisos.

find public_html/wp-admin/css -perm /444

/ se usa como prefijo, entonces al menos una categoría debe tener al menos el conjunto de bits respectivo para que un archivo coincida.

-prefijo, entonces se deben establecer al menos los bits especificados.

Buscar por propietario

Utilice los parámetros -user y -group para buscar archivos propiedad de un determinado usuario o grupo.

find -user testc7963

Conclusión

Hemos demostrado cómo aplicar el comando de búsqueda con una variedad de criterios y argumentos.
Este artículo debería brindarle una comprensión básica de cómo encontrar archivos en computadoras con Linux.