¿Conoce una buena manera de buscar un archivo o contenido por nombre de forma recursiva similar a la función de búsqueda de ms-windows con Linux? Puedo find . | grep test.html
sospechar que no es lo mejor. Gracias por cualquier respuesta.
Por ejemplo, ejecutar find . | grep terms.html
da el resultado esperado, aunque locate terms.html
no lo hace, aunque la localización actualiza la base de datos; ¿podría tener que ver con que el archivo se encuentra en una memoria USB?
Respuesta1
El comando es buscar, así
find . -iname '*hellofiles*'
usted dice buscar ·ubicación· -iname significa que no distingue entre mayúsculas y minúsculas y en '' es una expresión regular si lo desea.
find /home/user -iname '*zip' encontrará todos los archivos zip en /home/user
Si desea una búsqueda más rápida, puede usar localizar, hay una utilidad que escanea el disco con regularidad, como cada semana o día, dependiendo de cómo esté configurado.
locate myfile
y buscará en la base de datos si actualizadob ha visto mi archivo en alguna parte.
Respuesta2
find
tiene una serie de opciones que le permiten buscar archivos por nombre, expresiones regulares o incluso criterios más complejos como tamaño o propiedad. P.ej
find . -iname '*.txt'
Consulte también la sección de ejemplo en la página del manual vinculada.
Dicho esto, find
tiene la clara desventaja de buscar en el sistema de archivos cada vez que lo llama. Ellocate
La utilidad, en sus muchas variaciones, por otro lado, utiliza una base de datos actualizada periódicamente de los archivos de su sistema.
Respuesta3
En caso de paquetes: dpkg -L nombre del paquete
o si sabes que está en una carpeta en particular, agrega el uso de grep, como:
dpkg -L nombre del paquete | nombre de carpeta grep
Por ejemplo, acabas de instalar Chromium y necesitas saber dónde está el contenedor.
dpkg -L navegador-chromium | contenedor de grep
Respuesta4
find . -name test.html
o también puedes usar comodines:find . -name \*test.html