Buscar archivos por nombre en Linux

La mayoría de las veces, está buscando un archivo en Linux y no sabe exactamente su verdadera ubicación en el disco del sistema.

Hay múltiples formas deencontrar archivos en la línea de comandos de Linux. La forma más común y confiable es usar el comando de búsqueda.

El comando de búsqueda es extremadamente versátil y tiene demasiados usos, pero aquí me centraré en buscar archivos por su nombre.

Explicaré cómo usar el comando ‘buscar’ para:

  • Búsqueda de archivos usando su nombre
  • Búsqueda de archivos con su nombre exacto
  • Búsqueda de archivos para un patrón particular
  • Buscando varios archivos
  • Exclusión de ciertos archivos de los resultados de búsqueda.

Además de estos, también mostraré cómo usar el comando grep con el resultado del comando find. Comencemos primero con una descripción general de lafinddominio.

La utilidad ‘find’ busca archivos que coincidan con un determinado conjunto de parámetros como el nombre del archivo, su fecha de modificación, su extensión, etc. Tiene el siguiente formato:

find path pattern

Si no se especifica una ruta, busca en el directorio actual y sus subdirectorios.

Búsqueda de archivos usando su nombre

Buscar un archivo con su nombre es una operación comúnmente utilizada con el comando de búsqueda. los-inameLa opción busca un archivo independientemente de su caso.

Para example, suponga que tiene dos archivos abc.txt y ABC.txt. Ambos tienen el mismo nombre pero diferentes casos. Usando el comando de búsqueda, obtienes ambos archivos en los resultados:

find -iname abc.txt
Encuentra archivos con su nombre ignorando el caso

Búsqueda de archivos usando su nombre exacto

los-nameLa opción distingue entre mayúsculas y minúsculas en contraste con la-inameopción, por lo que obtendrá archivos con el nombre exacto.

Para examplebusquemos un archivo con el nombreabc.txt:

find -name abc.txt

El nombre del archivo puede estar compuesto por comodines, como verá más adelante en esta guía.

Búsqueda de archivos con un patrón particular

También puede filtrar archivos que siguen un patrón determinado. Para eso, puedes usar comodines.

Digamos, por ejemplo, que está buscando todos los archivos de configuración en su sistema que terminan con la extensión ‘.conf’:

find /etc -type f -name "*.conf" | grep client.conf
Buscar archivos con su extensiónEncuentra archivos con cierta extensión

De la misma manera, también puedebuscar archivos con el mismo nombre pero con cualquier extensiónde tres caracteres como:

find ~ -name "abc.???" 
Encuentra archivos con cualquier extensiónEncuentra archivos con el mismo nombre pero cualquier extensión

si tienes variosnombres de archivo que contienen una cadena comúndiga ‘VM’, el comando de búsqueda en este escenario será como:

find -name '*VM*' 
Buscar archivos con un patrón coincidenteBuscar archivos con un patrón coincidente

Hasta ahora hemos usado un solo directorio (el directorio de inicio) con el comando ‘buscar’.

Tú también puedesbuscar en varios directoriosespecificándolos en la CLI:

find ~/Desktop/example1/ ~/Desktop/example2/ -name 'abc*.*'
Buscar archivos en varios directoriosBuscar archivos en varios directorios

Búsqueda de varios archivos y varios patrones

Suponga que desea encontrar varios archivos en un directorio que tiene.msiy.txtcomo tipos de archivos.

Aquí tienes que usar tanto elnameytypeopciones en la CLI como:

find -type f ( -name "*.txt" -o -name "*.msi" )
Buscar varios archivosBusque múltiples archivos y múltiples patrones

En un enfoque similar, puede extender el comando anterior para obtener más archivos usando extra-oopciones

Exclusión de ciertos archivos de los resultados de búsqueda

El comando de búsqueda también puede excluir ciertos tipos de archivos del resultado de la búsqueda:

find -name '*abc*' -type f ( ! -name '*.msi' )
Excluir ciertos archivos de los resultados de búsquedaExcluir ciertos archivos de los resultados de búsqueda

Aquí, el comando ‘buscar’ buscará todos los archivos que tengan la cadena ‘abc’ en su nombre. Sin embargo, filtrará el.msitipo de archivos.

Otros ejemplos comunes del comando ‘buscar’

Tiene más opciones que se pueden usar con el comando ‘buscar’. Permítanme compartir algunos ejemplos de este tipo:

¿El sistema informa de poco espacio en disco? Encuentra archivos más grandes como este:

find -size +2000M

Usando el comando anterior, puede encontrar archivos que ocupan más de 2000 Megabytes de espacio.

En caso de que necesite guardar sus hallazgos para una investigación posterior, rediríjalos a un archivo:

find -name '*abc*' -type f ( ! -name '*.msi' ) > mysearch.txt
Guardar el resultado del comando de búsquedaGuardar el resultado del comando de búsqueda

lostypeLa opción con el comando de búsqueda abre muchas oportunidades.

Puede combinarlo con diferentes descriptores de archivos para diferentes tipos de archivos. Para example’f’ para un archivo normal, ‘d’ para un directorio, ‘l’ para un enlace simbólico, etc.

find /var/log -type f -name "*.log" 

Conclusión

En esta guía, expliqué cómo buscar archivos por sus nombres usando el comando de búsqueda. Vio varias formas de reducir la ruta de búsqueda y, lo que es más importante, cómo incorporar los “comodines” para la búsqueda de patrones.

Hay muchos más usos del comando de búsqueda. Como puede usarlo para encontrar archivos modificados recientemente. Aquí hay algunos ejemplos más comunes si está interesado.

Siempre puede buscar en las páginas del manual para obtener información detallada sobre las diversas opciones con el comando ‘buscar’.


Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín