Como encontrar un archivo en linux con comandos

Encontrar un archivo en Linux puede ser un poco difícil si no sabes cómo.
La mejor forma de encontrar archivos es utilizar diferentes comandos en la terminal.
Perfeccionar el uso de estos comandos te puede dar un completo control sobre tus archivos y son mucho más poderosos que una simple función de búsqueda en otros sistemas operativos. Utiliza el comando “find” (encontrar)
  1. Imagen titulada 690519 1
    1

    Busca un archivo por su nombre. Esta es la búsqueda más básica que puedes realizar usando el comando find. El comando a continuación buscará la consulta en el directorio actual y en cualquier subdirectorio.[1]

    find -iname «nombre de archivo»
    • Utilizar -iname en lugar de -name ignora las mayúsculas y minúsculas de tu consulta. El comando -name sí se fija en las mayúsculas y en las minúsculas.
  2. Imagen titulada 690519 2
    2

    Ajusta la búsqueda para que empieza desde el directorio de raíz. Si quieres buscar en todo el sistema, puedes agregar el modificador / a la consulta. Esto le dirá al comando que busque en todos los directorios empezando desde el directorio de raíz.

    find / -iname «nombre de archivo»
    • Puedes empezar la búsqueda en un directorio en específico remplazando el modificador / con la dirección de algún directorio, como /home/pat.
    • Puedes usar . en lugar de / para forzar la búsqueda a que solo se realice en el directorio actual y sus subdirectorios.
  3. Imagen titulada 690519 3
    3

    Utiliza el caracter .* para buscar cualquier cosa que coincida con parte de la consulta. El caracter * puede ser útil para encontrar algo si no sabes el nombre completo del archivo o si quieres encontrar una extensión específica.

    find /home/pat -iname «*.conf»
    • Esta búsqueda encontrará todos los archivos con la extensión CONF en la carpeta del usuario Pat (y en los subdirectorios).
    • También puedes usar estos comandos para encontrar todo lo que coincida con parte del nombre. Por ejemplo, si tienes muchos documentos relacionados con wikiHow, puedes encontrar todos los archivos escribiendo "*wiki*".
  4. Imagen titulada 690519 4
    4

    Haz que los resultados de búsqueda sean más fáciles de administrar. Si recibes muchos resultados de búsqueda, puede ser difícil verlos todos. Utiliza el caracter | y envía los resultados de búsqueda a un programa de filtrado. Esto te permite ver cada archivo y filtrar los resultados de una forma mucho más sencilla.

    find /home/pat -iname «*.conf» | less
  5. Imagen titulada 690519 5
    5

    Encuentra tipos específicos de resultados. Puedes usar modificadores para que solo aparezcan ciertos tipos de resultados. Puedes buscar archivos regulares (f), directorios (d), enlaces simbólicos (l), dispositivos de caracteres (c) y dispositivos de bloqueo (b) usando el modificador correcto.

    find / -type f -iname «nombre de archivo»
  6. Imagen titulada 690519 6
    6

    Filtra los resultados de búsqueda por tamaño. Si tienes muchos archivos con nombres similares, pero sabes el tamaño del archivo que estás buscando, puedes filtrar los resultados por tamaño.

    find / -size +50M -iname «nombre de archivo»
    • Esto mostrará resultados de 50 MB o más. Puedes usar + o - para buscar tamaños más grandes o más pequeños. Omitir + o - buscará archivos de exactamente ese tamaño.
    • Puedes filtrar la búsqueda en bytes (c), kilobytes (k), megabytes (M), gigabytes (G) o en bloques de 512 bytes (b). Ten en mente que este indicador nota la diferencia entre mayúsculas y minúsculas.
  7. Imagen titulada 690519 7
    7

    #Utiliza operadores lógicos para combinar filtros de búsqueda. Puedes utilizar los operadores -and-or y -not para combinar diferentes tipos de búsquedas en una sola.[2]

    find /fotosdeviaje -type f -size +200k -not -iname «*2015*»
    • El comando encontrará los archivos en el directorio “fotosdeviaje” que sean mayores a 200 kilobytes en tamaño pero no tengan “2015” en alguna parte del nombre.
  8. Imagen titulada 690519 8
    8

    #Busca archivos con base en el dueño o los permisos. Si intentas encontrar un archivo de algún usuario o algún archivo que tenga ciertos permisos, puedes restringir la búsqueda.

    find / -user pat -iname «nombre de archivo» find / -group users -iname «nombre de archivo» find / -perm 777 -iname «nombre de archivo»
    • Los ejemplos anteriores buscarán los usuarios específicos, grupos y permisos de dicha consulta. También puedes omitir la consulta del nombre del archivo para que aparezcan todos los resultados que coincidan con ese tipo. Por ejemplo, find / -perm 777 mostrará todos los archivos con los permisos 777 (sin restricciones).
  9. Imagen titulada 690519 9
    9

    Combina los comandos para realizar acciones cuando se encuentren los archivos. Puedes combinar el comando find con otros comandos para poder ejecutarlos en los archivos que muestre la búsqueda. Separa el comando find y el segundo comando con el indicador -exec y termina la línea con {} \;

    find . -type f -perm 777 -exec chmod 755 {} \;
    • Esto realizará una búsqueda en el directorio actual (y en los subdirectorios) archivos que tenga los permisos 777. Después usará el comando chmod para cambiar los permisos a 755.

  Utiliza «locate» (ubicar)

  1. Imagen titulada 690519 10
    1

    Instala la función .locate. El comando locate usualmente funciona mucho más rápido que el comando find, ya que funciona de una base de datos de la estructura de archivos. No todas las distribuciones de Linux tienen instalada la función locate. Introduce los siguientes comandos para instalar esa función:

    • Escribe sudo apt-get update y presiona  Enter.
    • Puedes instalarlo en Debian y Ubunto de la siguiente forma: Escribe sudo apt-get install mlocate y presiona  Enter. Si la función locate ya está instalada, verás un mensaje indicado que mlocate es la versión más reciente.
    • En Arch Linux, utiliza el administrador de paquetes de pacman: pacman -Syu mlocate
    • En Gentoo, utiliza emerge: emerge mlocate
  2. Imagen titulada 690519 11
    2

    Actualiza tu .locate base de datos. El comando locate no encontrará nada hasta que se cree una base de datos y se actualice. Esto sucede automáticamente a diario, pero también se puede actualizar manualmente. Necesitas hacer esto si quieres usar el comando locate inmediatamente.[3]

    • Escribe sudo updatedb y presiona  Enter.
  3. Imagen titulada 690519 12
    3

    Utiliza .locate para realizar búsquedas simples. El comando locate es rápido, pero no tiene tantas opciones como el comando find. Puedes realizar una búsqueda básica de archivos de la misma forma que el comando find.

    locate -i «*.jpg»
    • El comando buscará todo el sistema por archivos con la extensión .jpg. El caracter * funciona de la misma forma que en el comando find.
    • Como con el comando find, el indicador -i ignora las mayúsculas y minúsculas de tu consulta.
  4. Imagen titulada 690519 13
    4

    Limita tus resultados de búsqueda. Si tus búsquedas muestran muchos resultados, puedes reducirlas utilizando la opción -n, seguida del número de resultados que quieres mostrar.

    locate -n 20 -i «*.jpg»
    • Solo los primeros 20 resultados que coincidan con tu consulta aparecerán en la lista de resultados.
    • También puedes utilizar el indicador | para enviar los resultados a less para poder verlos fácilmente.

  Buscar texto en archivos

  1. Imagen titulada 690519 14 1 Utiliza el comando .grep para buscar texto dentro de los archivos. Si estás buscando un archivo que contenga ciertas frases o serie de caracteres, puedes utilizar el comando grep. Una búsqueda básica con el comando grep sería algo como:
    grep -r -i «consulta de búsqueda» /dirección/del/directorio/
    • El comando -r hace que la búsqueda sea recurrente, lo que significa que buscará el directorio actual y todos los subdirectorios por cualquier archivo que tenga la serie de caracteres especificados en la consulta.
    • El comando -i indica que no importan las mayúsculas ni las minúsculas en la consulta. Si quieres que la búsqueda preste atención a las mayúsculas y minúsculas, omite el indicador -i.
  2. Imagen titulada 690519 15 2 Elimina el texto adicional. Cuando realices una búsqueda grep como el ejemplo anterior, verás el nombre del archivo junto con el texto que coincide con el de la consulta. Puedes esconder el texto y solo mostrar los nombres de archivos y las direcciones incluyendo lo siguiente:
    grep -r -i «consulta de búsqueda» /dirección/del/directorio/ | cut -d: -f1
  3. Imagen titulada 690519 16 3

    Esconde los mensajes de error. El comando grep mostrará un error al momento de intentar acceder las carpetas sin los permisos correctos o si la carpeta está vacía. Puedes enviar los mensajes de error al directorio /dev/null, lo cual los esconderá del resultado.[4]

    grep -r -i «consulta de búsqueda» /dirección/de/directorio/ 2>/dev/null