
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
, file2
y 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
, myfile2
y myfile3
pero no aparecerá en la lista Dir2
, file1
, file1.1
o 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
, file1
y file1.1
pero 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.1
y por debajo.
Ejemplo 4:
Encuentra archivos que comienzan en 3 capas de profundidad.
$ find MyFiles/ -mindepth 3 -type f
Esto listará file2
y file3
omita 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: