ubicacion saber por ocultos encontrar consola como buscar buscador archivos archivo linux shell

saber - linux buscar un archivo



¿Cómo puedo encontrar recursivamente todos los archivos en las subcarpetas actuales y en función de la coincidencia de comodines? (12)

¿Cómo puedo encontrar recursivamente todos los archivos en las subcarpetas actuales y en función de la coincidencia de comodines?


fd

En caso de que la find sea ​​demasiado lenta, pruebe la utilidad fd , una alternativa simple y rápida para find escrita en Rust.

Sintaxis:

fd PATTERN

Manifestación:

Página de inicio: fd


El hallazgo de tuberías en grep es a menudo más conveniente; le da el poder completo de las expresiones regulares para la coincidencia de comodines arbitrarios.

Por ejemplo, para encontrar todos los archivos con la cadena "foo" que no distingue entre mayúsculas y minúsculas en el nombre de archivo:

~$ find . -print | grep -i foo


El siguiente comando ayuda a buscar cualquier archivo

1) Independientemente del caso
2) Resultado Excluyendo carpetas sin permiso
3) Buscando desde la raíz o desde la ruta que te gusta. Cambia / con el camino que prefieras.

Sintaxis:
encontrar -iname '''' 2> & 1 | grep -v "Permiso denegado"

Ejemplo

encuentre / -iname ''C * .xml'' 2> & 1 | grep -v "Permiso denegado"

find / -iname ''*C*.xml'' 2>&1 | grep -v "Permission denied"


La forma predeterminada de buscar archivos recursivos, y disponible en la mayoría de los casos, es

find . -name "filepattern"

Comienza el recorrido recursivo para el nombre de archivo o patrón desde el directorio actual en el que se encuentra. Con el comando Buscar, puede usar comodines y varios interruptores para ver la lista completa de opciones, escriba

man find

o si las páginas man no están disponibles en su sistema

find --help

Sin embargo, hay herramientas más modernas y más rápidas que buscar, que están recorriendo todo su sistema de archivos e indexando sus archivos, una de esas herramientas comunes es localizar o ubicar / ubicar, debe consultar el manual de su sistema operativo sobre cómo instalarlo, y una vez que esté instalado, debe iniciar la base de datos; si el script de instalación no lo hace por usted, puede hacerlo manualmente escribiendo

sudo updatedb

Y, para usarlo para buscar algún tipo de archivo en particular.

locate filename

O, para buscar un nombre de archivo o patrón dentro del directorio actual, puede escribir:

pwd | xargs -n 1 -I {} locate "filepattern"

Revisará su base de datos de archivos e imprimirá rápidamente los nombres de las rutas que coincidan con el patrón que ha escrito. Para ver la lista completa de opciones de localización, escriba: locate --help o man locate

Además, puede configurar localizar para actualizar su base de datos en los tiempos programados a través del trabajo cron, por lo que la muestra cron que las actualizaciones de la base de datos a la 1AM se vería así:

0 1 * * * updatedb

Estos trabajos cron deben configurarse por raíz, ya que updatedb necesita privilegios de raíz para atravesar todo el sistema de archivos.


Puedes usar:

# find . -type f -name ''text_for_search''

Si quieres usar REGX usa -iname

# find . -type f -iname ''text_for_search''


Si desea buscar un archivo especial con comodines, puede utilizar el siguiente código:

find . -type f -name "*.conf"

Supongamos que desea buscar todos los archivos .conf desde aquí:

. significa búsqueda iniciada desde aquí (lugar actual)
-type significa tipo de elemento de búsqueda que aquí es archivo (f).
-name significa que desea buscar archivos con nombres * .conf .


Si su shell admite una nueva opción de globging (puede habilitarse mediante: shopt -s globstar ), puede usar:

echo **/*foo*

para encontrar cualquier archivo o carpeta de forma recursiva. Esto es compatible con Bash 4, zsh y shells similares.

Personalmente tengo esta función de shell definida:

f() { find . -name "*$1*"; }

Nota: la línea anterior se puede pegar directamente al shell o agregarse al archivo ~/.bashrc su usuario.

Entonces puedo buscar cualquier archivo escribiendo:

f some_name

Alternativamente, puede usar una utilidad fd con una sintaxis simple, por ejemplo, fd pattern .


Utilice find para eso:

find . -name "foo*"

find necesita un punto de partida, y el . (punto) apunta al directorio actual.


para buscar archivos
find / -xdev -name settings.xml -> equipo completo
find ./ -xdev -name settings.xml -> directorio actual y su subdirectorio

para archivos con tipo de extensión

find . -type f -name "*.iso"


find encontrará todos los archivos que coincidan con un patrón:

find . -name "*foo"

Sin embargo, si quieres una foto:

tree -P "*foo"

¡Espero que esto ayude!


find <directory_path> -type f -name "<wildcard-match>"

En la coincidencia de caracteres comodín puede proporcionar la cadena que desea hacer coincidir, por ejemplo, * .c (para todos los archivos c)


find -L . -name "foo*"

En algunos casos, he necesitado el parámetro -L para manejar enlaces de directorio simbólicos. Por defecto los enlaces simbólicos son ignorados. En esos casos fue bastante confuso ya que cambiaría el directorio a un subdirectorio y vería el archivo que coincide con el patrón, pero el resultado no devolvería el nombre del archivo. Usando -L resuelve ese problema. Las opciones de enlace simbólico para encontrar son -P -L -H