¿Cómo encontrar archivos en Linux?
Publicado: 2022-04-07Tabla 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 .
-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.
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

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.