Tutoriales

Uso de las opciones de profundidad máxima y profundidad mínima en el comando de búsqueda de Linux

En este tutorial exploraremos cómo usar maxdepth y mindepth Opciones y find Ordenar a Buscar archivos y directorios dentro de un rango específico Es decir, niveles de profundidad y paradigmas en Linux.

Finalmente, también proporcionamos una analogía simple para ayudar a los principiantes a comprender fácilmente mindepth y maxdepth Opciones para el comando de búsqueda de Linux.

¿Cuáles son las opciones maxDepth y MinDepth en el comando de búsqueda?

Para aquellos que aún no lo saben, maxdepth en opciones find Especificación del comando profundidad máxima (serie) a Descender a la jerarquía de directorios. Limita la búsqueda a un nivel de profundidad específico o menos.

este mindepth especificación de opción profundidad mínima (número de nivel) La búsqueda debe iniciar aplicando pruebas o acciones. Garantiza que los archivos o directorios menos profundos no se incluyan en la búsqueda.

este maxdepth y mindepth Las opciones le permiten limitar la profundidad del recorrido del directorio, lo cual resulta útil cuando desea centrarse en un nivel específico del árbol de directorios.

Echemos un vistazo a algunos ejemplos sobre cómo utilizar estas dos opciones para buscar archivos y directorios de forma eficaz desde la línea de comandos en sistemas Linux.

Utilice las opciones maxprofundidad y minprofundidad del comando de búsqueda para buscar archivos y directorios dentro de un rango específico

Para fines de demostración utilizaremos el siguiente directorio.

$ tree MyFiles/
MyFiles/
├── Dir1
│   ├── Dir2
│   │   ├── Dir3
│   │   │   └── file3
│   │   └── file2
│   ├── file1
│   └── file1.1
├── myfile1
├── myfile2
└── myfile3

3 directories, 7 files

Como puede ver, hay 3 subdirectorios, a saber dir1, dir2 y dir3 Hay 7 archivos, a saber myfile1, myfile2, myfile3, file1, file1.1, file2y file3 En el directorio raíz llamado MyFiles.

Dada la estructura de directorio proporcionada MyFiles/exploremos cómo maxdepth y mindepth Opciones find Los comandos se pueden utilizar para buscar archivos o directorios dentro de una profundidad específica.

usar maxdepth

este maxdepth La opción limita la búsqueda al número especificado de niveles debajo del punto de inicio del comando.

Ejemplo 1:

Enumera todo lo que contiene MyFiles/ Hasta el nivel 1 (Incluyendo archivos y directorios directamente bajo MyFiles/pero no más).

$ find MyFiles/ -maxdepth 1

Esto listará Dir1, myfile1, myfile2y myfile3pero no aparecerá en la lista Dir2, file1, file1.1o cualquiera de los siguientes Dir2.

Ejemplo 2:

enumera todo Hasta 2 capas de profundidad.

$ find MyFiles/ -maxdepth 2

Esto incluirá Dir1, myfile1, myfile2, myfile3,y Dir2, file1y file1.1pero no Dir3 o file2 y file3.

usar mindepth

este mindepth La opción especifica la profundidad mínima antes find Comience a devolver resultados.

Ejemplo 3:

enumera todo MyFiles/ empezar desde 2 capas de profundidad.

$ find MyFiles/ -mindepth 2

Esta directiva omite los elementos secundarios directos de la siguiente directiva. MyFiles/ (Por ejemplo Dir1, myfile1, myfile2, myfile3) y enumera todo, desde Dir2, file1, file1.1y por debajo.

Ejemplo 4:

Encuentra archivos que comienzan en 3 capas de profundidad.

$ find MyFiles/ -mindepth 3 -type f

Esto listará file2 y file3omita archivos y directorios cuya profundidad sea inferior a 3 niveles.

combinación maxdepth y mindepth

Puede combinar estas opciones para ajustar la profundidad de la búsqueda.

Ejemplo 5:

Enumere archivos exactamente con 3 niveles de profundidad.

$ find MyFiles/ -mindepth 3 -maxdepth 3 -type f

La profundidad del archivo de destino de este comando es de 3 niveles, por ejemplo file2 bajo Dir2.Aviso file3 En realidad, tiene 4 capas de profundidad y no se incluirá.

Buscar un archivo o directorio específico

En el ejemplo anterior, vimos cómo buscar todos los archivos o directorios. En esta sección, nos centraremos en cómo buscar un solo archivo o carpeta.

Busque el archivo «file1» un nivel debajo del directorio raíz (es decir, el directorio raíz y un subdirectorio):

$ find /path/to/directory/ -maxdepth 2 -name file1

reemplazar /path/to/directory/ Utilice su propia ruta de directorio.

Busque el archivo «file2» en dos niveles debajo del directorio raíz (es decir, directorio raíz, subdirectorio de segundo nivel y subdirectorio de tercer nivel).:

$ find /path/to/directory/ -maxdepth 3 -name file2

Busque un archivo llamado «archivo» entre los niveles de subdirectorio 2 y 4 (Es decir, desde el nivel de subdirectorio 3 hasta el nivel de subdirectorio 5):

$ find /path/to/directory/ -mindepth 3 -maxdepth 5 -name file

Encuentre todos los archivos llamados «archivo3» en todos los subdirectorios comenzando desde el directorio raíz:

$ find /path/to/directory/ -name file3

Siéntase libre de adaptar estos comandos para adaptarlos a su caso de uso y explorar las otras opciones proporcionadas por Multipropósito find ¡Orden!

Comprenda las opciones de profundidad mínima y máxima a través de una analogía simple

Si eres nuevo en esto, es posible que encuentres el uso maxdepth y mindepth Las opciones son un poco confusas. A continuación se muestra una forma sencilla de recordar estas opciones:

Piense en la profundidad como distancia:

  • mindepth: Esto es como establecer una distancia mínima antes de comenzar a contar o buscar. Es como decir: «Sólo empieza a contar o a buscar después de haber llegado al menos a esta profundidad».
  • maxdepth: Es como establecer una distancia máxima que estás dispuesto a caminar. Es como decir: «Una vez que hayas llegado a esta profundidad, deja de calcular o buscar».

Por ejemplo:

Imagina que estás explorando un bosque con múltiples capas de caminos y caminos. Cada capa representa un nivel de profundidad diferente:

  • profundidad mínima: Antes de comenzar a contar o explorar, debe decidir la profundidad mínima a la que está dispuesto a comenzar. Por ejemplo, podrías decir: «No contaré ni exploraré nada hasta que esté al menos a 2 niveles de profundidad en el bosque».
  • profundidad máxima: También puedes decidir la profundidad máxima a la que estás dispuesto a llegar. Por ejemplo, podrías decir: «No contaré ni exploraré nada a más de 3 niveles de profundidad en el bosque».

Poniendo todo junto:

  • mindepth 2: Esto significa que comienzas a contar o buscar desde una ubicación al menos a 2 niveles de profundidad en el bosque.
  • maxdepth 3: Esto significa que una vez que llegas a 3 niveles en lo profundo del bosque, dejas de contar o buscar.

Rendimiento visual:

Forest (Root)
├── Layer 1
│   ├── Layer 2
│   │   ├── Layer 3
│   │   │   ├── Layer 4
│   │   │   └── Layer 4
│   │   └── Layer 3
│   ├── Layer 2
│   └── Layer 2
└── Layer 1

En esta metáfora del bosque, puedes ajustar tu exploración a través de la configuración. mindepth Decide por dónde empezar y maxdepth para determinar hasta qué punto estás dispuesto a llegar.

¡Espero que esta analogía te ayude a entenderlo más claramente!

Ahora, apliquemos esto a nuestro ejemplo de directorio:

Si desea comenzar desde el directorio raíz y buscar archivos dos nivelesusar:

$ find /path/to/directory/ -maxdepth 2 -name 

Si desea buscar archivos a partir de Nivel 3 y cayó a Nivel 5usar:

$ find /path/to/directory/ -mindepth 3 -maxdepth 5 -name 

recordar, profundidad máxima limitar su profundidad, y profundidad mínima Establece tu punto de partida.

¡Feliz exploración del catálogo!

en conclusión

En este tutorial aprendemos a utilizar mindepth y maxdepth Opciones y ejemplos del comando de búsqueda de Linux.

A través de estos ejemplos, puedes ver cómo maxdepth y mindepth Las opciones permiten un control preciso sobre la profundidad de la búsqueda dentro del sistema de archivos, lo que le permite apuntar de manera eficiente a áreas específicas de la estructura del directorio.

Lectura relacionada:

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