¿Cómo limitar la búsqueda de un directorio específico en Linux?
Hay un comando en Linux para buscar archivos en una jerarquía de directorios conocida como ‘buscar’ . Busca en el árbol de directorios enraizado en cada punto de inicio dado evaluando la expresión dada de izquierda a derecha, de acuerdo con las reglas de precedencia, hasta que se conoce el resultado (el lado izquierdo es falso para operaciones y, verdadero para o) , momento en el que buscar pasa al siguiente nombre de archivo. Si no se especifica un punto de partida, ‘.’ se supone.
De forma predeterminada, el comando de búsqueda recorre todo el árbol de directorios de forma recursiva, lo que consume tiempo y recursos. Sin embargo, se puede especificar la profundidad del recorrido del directorio (que son profundidad mínima y profundidad máxima ).
¿Qué son los niveles de profundidad mínima y profundidad máxima?
- niveles de profundidad máxima : desciende en la mayoría de los niveles (un número entero no negativo) niveles de directorios por debajo de los puntos de inicio. -max depth 0 significa que solo se aplican las pruebas y acciones a los puntos de inicio.
- niveles de profundidad mínima : no aplique ninguna prueba o acción en niveles inferiores a niveles (un número entero no negativo). -min depth 1 significa procesar todos los archivos excepto los puntos de partida.
A continuación, se muestran algunos ejemplos para ilustrar cómo se puede especificar la profundidad del recorrido del directorio utilizando profundidad mínima y profundidad máxima.
- Busque el archivo passwd en todos los subdirectorios a partir del directorio raíz.
find / -name passwd
- Encuentre el archivo passwd debajo de la raíz y un nivel más abajo. (es decir, raíz: nivel 1 y un subdirectorio: nivel 2)
find / -maxdepth 2 -name passwd
- Encuentre el archivo passwd debajo de la raíz y dos niveles más abajo. (es decir, raíz: nivel 1 y dos subdirectorios: nivel 2 y 3)
find / -maxdepth 3 -name passwd
- Encuentre el archivo de contraseñas entre los niveles de subdirectorio 2 y 4.
find / -mindepth 3 -maxdepth 5 -name passwd
Hay otras dos formas de limitar la búsqueda de un directorio en Linux:
- grep Grep busca en los ARCHIVOS de entrada nombrados (o la entrada estándar si no se nombra ningún archivo, o se da el nombre del archivo) para líneas que contengan una coincidencia con el PATRÓN dado. De forma predeterminada, grep imprime las líneas coincidentes.
- ack Ack está diseñado como un reemplazo para el 99% de los usos de grep. Ack busca en los ARCHIVOS de entrada nombrados (o la entrada estándar si no se nombra ningún archivo, o se da el nombre del archivo) para líneas que contengan una coincidencia con el PATRÓN dado. Por defecto, ack imprime las líneas coincidentes.
Ack también puede enumerar los archivos que se buscarían, sin buscarlos realmente, para permitirle aprovechar las capacidades de filtrado de tipo de archivo de ack. Ack no tiene una opción de profundidad máxima
Ejemplos de grep:
You can search the current directory with grep as follows: To check whether a directory exists or not Find the directory under root directory. Find the directory under root and one levels down.
Ejemplos de acuse de recibo:
To check a particular directory under the root
Referencia: página del manual de Linux
Este artículo es una contribución de Kishlay Verma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA