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.

Publicaciones relacionadas

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