LINUX

Comando Find de Linux con ejemplos prácticos

comando de búsqueda de linux

El comando find es una poderosa utilidad de búsqueda que se utiliza para localizar archivos en sistemas operativos tipo Linux y Unix. Puede encontrar archivos y directorios según diferentes criterios como nombre, extensión, tipo, fecha de modificación y creación, permisos, tamaño, propietario.

Find también puede realizar una acción basada en un comando, por ejemplo, buscar archivos y ejecutar eliminar, contar, etc.

Este tutorial se enfocará en explicar la forma de usar el comando de búsqueda y lo guiará por ejemplos.

Sintaxis:

La sintaxis básica de encontrar el uso del comando es el siguiente:

find <directory-to-search> [OPTIONS] <find name,file,extension>

los -H y -L Las opciones se utilizan para administrar enlaces simbólicos durante la búsqueda, -P (no seguir enlaces simbólicos) y -L (seguir enlaces simbólicos).

1. Busque un archivo por nombre

Para encontrar un archivo por su nombre, use el comando buscar con -name opción.

Suponiendo que desea buscar el archivo con el nombre ‘nginx.yaml’ en el directorio de Documentos, puede ejecutar el siguiente comando:

$ find /Documents -name nginx.yaml

Esto encontrará el archivo llamado «nginx.yaml» en Documentos / y todos los subdirectorios:

Además, para buscar el archivo «nginx.yaml» en el directorio actual y todos sus subdirectorios, ejecute:

$ find -name nginx.yaml

El punto (.) Después del comando de búsqueda indica que debe comenzar a buscar desde el directorio actual:

$ find . -name nginx.yaml

2. Busque archivos por extensión

Si desea buscar todos los archivos por extensión, puede usar el comando buscar con -name opción siguiendo con el *.

Por ejemplo, puede buscar todos los archivos que tengan la extensión ‘.png’ en el directorio de inicio ejecutando el siguiente comando:

$ find $HOME -name *.png

3. Busque solo directorios

Si quieres buscar solo directorios, puede ejecutar el comando buscar con -type d opción.

Supongamos que desea buscar todos los directorios en la carpeta Documentos /, ejecutemos:

$ find /Documents -type d

4. Busque solo archivos

Hay muchos tipos diferentes de archivos en Linux, tales como: directorios, enlaces simbólicos, socket, archivos regulares, etc. Si desea buscar solo archivos regulares, puede ejecutar el comando de búsqueda con la opción ‘-type f’.

Por ejemplo, suponiendo que solo encuentre archivos en el directorio actual, ejecutemos:

$ find . -type f

5. Buscar y eliminar

En algunas situaciones quieres buscar y borrar archivos / directorios que ya no son necesarios, puede ejecutar el comando de búsqueda con la opción ‘-delete’.

Por ejemplo, encontrar todas las imágenes con extensión * .png en la carpeta Documentos / y eliminarlas:

$ find /Documents -name *.png -delete

6. Busque archivos que tengan permisos específicos

Si desea buscar todos los archivos que tienen permiso específico, puede usar el comando de búsqueda de Linux con la opción ‘-perm’.

Por ejemplo, para encontrar archivos que tengan el permiso ‘755’, ejecutemos:

$ find . -type f -perm 775 -exec ls -l {} ;

7. Busque archivos y directorios por fecha / hora

El comando de búsqueda de Linux le permite buscar archivos y directorios por fecha / hora.

Puede usar el comando de búsqueda con la opción ‘-mtime -N’ para buscar archivos que se modificaron por última vez hace ‘N’ días. Por ejemplo, para buscar todos los archivos que se modificaron en los últimos 2 días en el directorio actual, ejecutemos:

$ find . -type f -mtime -2 -exec ls -l {} ;

Otra forma de usar el comando de búsqueda para buscar archivos / directorios por fecha / hora es usando la opción ‘-newerXY’. Donde X e Y pueden ser:

a – la hora de acceso al archivo de referencia

B – la hora de nacimiento del archivo de referencia

c – el tiempo de cambio de estado del inodo del archivo de referencia

m – la hora de modificación del archivo de referencia

t – referirse se interpreta directamente como un tiempo

Por ejemplo, para buscar todos los archivos modificados el 4 de julio de 2020 en el directorio actual, ejecutemos:

$ find . -type f -newermt 2020-07-04 -ls

8. Busque archivos y directorios por tamaño

El comando de búsqueda de Linux le permite buscar archivos / directorios por tamaño ejecutando el comando con la opción ‘-size’.

Suponiendo que desea buscar archivos de más de 1 GB, puede ejecutar el siguiente comando:

$ find . -type f -size +1G

Algunos ejemplos prácticos

01) Encuentra archivos / directorios vacíos

Esta salida enumerará todos los archivos y carpetas vacíos en el directorio y subdirectorios actuales:

$ find . -empty -ls

02) Encuentra todos los archivos .jpg

$ find . -name *.jpg

03) Encuentra todos los directorios con permiso 644

La salida le muestra todas las carpetas en el directorio o subdirectorio actual que tienen el permiso 644:

$ find . -type d -perm 644 -ls

04) Encuentra archivos propiedad de un usuario específico

Si desea verificar todos los archivos propiedad del usuario «cas» en el directorio actual, puede hacerlo de la siguiente manera:

$ find . -user cas -ls

05) Buscar archivos por número de inodo

Para buscar un archivo por su número de inodo, puede usar buscar con -inum opción. Por ejemplo:

$ find -inum 534937

06) Contar el número de archivos

$ find -type f -exec basename {} ; | wc -l

07) Contar el número de directorios

$ find -type d -exec basename {} ; | wc -l

08) Busca archivos con una profundidad particular

Suponiendo que desea buscar el archivo «Dockerfile» en la carpeta INICIO y sus subdirectorios y no en los subdirectorios del siguiente nivel, debe establecer la opción ‘-maxdepth’ en 2 de la siguiente manera:

$ find $HOME -maxdepth 2 -name Dockerfile

Conclusión

Otra herramienta poderosa es el comando fd, que es una alternativa al comando de búsqueda.

En este tutorial, aprendimos cómo usar el comando find de Linux para buscar archivos y directorios. Gracias por leer y deje su sugerencia en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar