GNU/Linux >> Tutoriales Linux >  >> Linux

Buscar comando en Linux/UNIX

El comando de búsqueda de Linux resulta útil cuando se buscan archivos directamente desde la línea de comandos. El comando de búsqueda recibe criterios de búsqueda como permisos, propiedad, modificación, tamaño, hora y fecha, entre otros, para ubicar el archivo o directorio en cuestión.

El comando de búsqueda está disponible en todas las distribuciones de Linux de forma predeterminada, por lo tanto, no es necesario instalar paquetes especiales para usarlo. Debido a su importancia, el comando de búsqueda es un comando esencial para aprender si desea obtener más información sobre las navegaciones de línea de comandos en cualquier distribución de Linux.

Resaltaremos algunos de los ejemplos de comandos de búsqueda y explicaremos las diversas opciones que puede usar.

Sintaxis

$ find location  comparison-criteria  search term

Listado de archivos en el directorio actual

Para enumerar todos los archivos en un directorio, incluidos los archivos dentro de las carpetas, ejecute el siguiente comando.

$ find .

Salida de muestra

Buscar archivos dentro de un directorio específico

Si desea buscar todos los archivos en un directorio dado, use el comando de búsqueda de la siguiente manera

$ find directory_name

Por ejemplo, para buscar todos los archivos en /boot, ejecute el comando

$ find /boot

Salida de muestra

Buscar archivos usando el nombre de archivo dentro de un directorio específico

Si desea especificar los criterios de búsqueda utilizando el nombre del archivo en un directorio, la sintaxis será la siguiente

$ find directory_name -name "file_name"

Por ejemplo, para buscar archivos Apache2 en el directorio /etc, ejecute

$ find /etc -name "apache2"

Salida

Busca recursivamente todos los archivos con una extensión de archivo específica

Si desea buscar archivos particulares que tengan una extensión específica, en un directorio determinado, la sintaxis será la siguiente

$ find directory_name  -name "*.extension"

Por ejemplo, para buscar todos los archivos de configuración (.conf) en el directorio /etc, ejecute

$ find /etc -name "*.conf"

Salida de muestra

Limitación de la profundidad de búsqueda

Puede decidir limitar la profundidad de su búsqueda de archivos en los directorios. Por ejemplo, si desea limitar su búsqueda de archivos al primer nivel del directorio, la sintaxis será

$ find directory_name -maxdepth 1 -name "*.conf"

Entonces, si desea limitar la búsqueda de archivos al directorio de primer nivel en /etc para archivos con .conf extensión ejecutar:

$ find /etc -maxdepth 1 -name "*.conf"

Salida de muestra

Como se ve en el resultado anterior, la búsqueda de archivos se limita a /etc nivel de directorio. Si desea realizar una búsqueda más intensiva y profundizar en otros directorios dentro del /etc directorio, aumente la profundidad máxima valor.

Por ejemplo, para buscar archivos con .conf extensión hasta la tercera ejecución del directorio

$ find /etc -maxdepth 3 -name "*.conf"

Salida de muestra

Como se ve en el resultado anterior, la búsqueda sube a los directorios 2 y 3.

Invertir resultados de búsqueda

También puede buscar archivos que no cumplan con los criterios dados con el comando de búsqueda. Este modo es útil cuando desea eliminar archivos conocidos del patrón de búsqueda.

Para hacer esto, use -not -name atributo como se muestra

$ find /etc -maxdepth 1 -not -name "*.conf"

Salida de muestra


La salida anterior imprime todos los archivos que no tienen .conf extensión de archivo.

Usando buscar con el operador OR

Puede optar por combinar los resultados de la búsqueda con la búsqueda mediante el operador O, que está simbolizado por -o bandera que se muestra en el siguiente ejemplo

$ find /etc -maxdepth 3 -name "cron" -o -name "ssh"

Salida de muestra

El comando anterior busca archivos con el nombre ssh O cron en el directorio

Buscar solo archivos o solo directorios

Si solo desea buscar archivos, use - type f atributo como se muestra en el siguiente ejemplo

$ find /etc -type f -name "ssh"

Salida de muestra

Si desea buscar solo directorios, use - type d atributo como se muestra en el siguiente ejemplo.

$ find /etc -type d -name "ssh"

Salida de muestra

Buscar archivos propiedad de un usuario en particular

Para buscar archivos propiedad de un usuario en particular en un directorio específico, use la sintaxis:

$ find /path -user username

Por ejemplo, para encontrar archivos propiedad del usuario james en /home directorio ejecute el siguiente comando

$ find /home -user james

Salida de muestra

Buscar archivos con ciertos permisos de archivo

Para buscar archivos con permisos de archivo específicos, utilice la siguiente sintaxis

$ find /directory_name  -type f -perm value

Por ejemplo, para buscar archivos con permisos 755 en /etc directorio, ejecute:

$ find /etc -type f -perm 755

Salida de muestra

Búsqueda de archivos con ciertos tamaños de archivos o un rango de archivos

El comando de búsqueda de Linux también ofrece a los usuarios la posibilidad de buscar archivos según el tamaño de sus archivos.

Busca archivos de tamaño N

Por ejemplo, para buscar archivos de 10kb ejecute:

$ find /etc -type f -size 10k

Salida de muestra

Para buscar archivos de más de 10 kb, ejecute

 find /etc -type f -size +10k

Salida de muestra

Para buscar archivos de menos de 10kb ejecute

 find /etc -type f -size -10k

Salida de muestra

Resumen

Esa fue una descripción general rápida de los ejemplos de comandos de búsqueda de Linux. Como ya se ha mostrado, la búsqueda de archivos y directorios en la línea de comandos es muy fácil. Saber cómo funciona el comando es una herramienta esencial para todos los administradores de sistemas.
No dude en probar los ejemplos de comandos de búsqueda anteriores y cuéntenos cómo le fue.


Linux
  1. Cómo encontrar un archivo en Linux

  2. Usando el comando ripgrep (rg) en Linux

  3. Comando IP de Linux

  4. UNIX/Linux:10 ejemplos de comandos de Netstat

  5. encontrar ejemplos de comandos en Linux

Comando AWK en Linux/Unix

Comando mkdir en Linux/Unix

Linux frente a Unix

Comando Grep en Linux/UNIX

Comando ls en Linux/UNIX

comando cp en Linux/UNIX