Linux / Comando whereis: localizar binarios, código fuente y manuales

whereis busca binarios, código fuente y manuales de un programa en ubicaciones estándar y otras rutas de su entorno. Permite consultar varios tipos de archivos relacionados; el uso habitual de which, en cambio, se centra en ejecutables de PATH. Ninguno debe confundirse con una búsqueda completa de todo el disco.

En este artículo se explica la sintaxis básica de whereis, sus principales opciones, ejemplos de uso real, diferencias con comandos relacionados y precauciones al usarlo.

whereis de util-linux construye las ubicaciones de búsqueda basándose en variables de entorno y rutas codificadas conocidas. No es un comando que explore recursivamente todo el sistema de archivos, por lo que se pueden omitir directorios de usuarios arbitrarios o ubicaciones de instalación no estándar.

Sintaxis básica

whereis [OPCIONES] NOMBRE ...

Las opciones y el comportamiento detallado pueden variar según la implementación y la versión. En el sistema actual, consulte la descripción de los comandos instalados como whereis --help y man whereis.

Uso básico de whereis

Buscar todas las ubicaciones relacionadas con el comando

Muestra las rutas encontradas para binarios y manuales en una sola línea.

whereis bash

Buscar solo binarios

Selecciona buscar solo archivos ejecutables con -b.

whereis -b ssh

Buscar solo manuales

Se busca solo la ubicación de la página del manual con -m.

whereis -m printf

Diferenciar entre binario y ubicación del manual

whereis busca las ubicaciones estándar de archivos ejecutables o manuales relacionados con un nombre. No realiza una búsqueda recursiva en todo el disco.

whereis ls

Ejemplo de salida (la ruta de instalación varía según el entorno):

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

La ruta anterior es del archivo ejecutable, la siguiente es del archivo del manual. Si desea saber la ruta ejecutable real que el shell selecciona actualmente, utilice type o command -v.

Opciones principales

Opciones Descripción
-b Busca binarios.
-m Busca páginas de manual.
-s Busca archivos fuente.
-B DIRS -f Especifique la ruta de búsqueda binaria.
-M DIRS -f Especifique la ruta de búsqueda manual.
-S DIRS -f Especifique la ruta de búsqueda de código fuente.
-u Muestra nombres sin exactamente una coincidencia por cada tipo solicitado; revise qué tipos seleccionó.
-l Muestre la lista de rutas de búsqueda reales.

Ejemplos de uso práctico

Verificar ruta de búsqueda

Si los resultados son diferentes a lo esperado, primero consulte en -l la ruta que verifica la implementación actual. Para comparar otras herramientas de búsqueda, consulte la Lista de comandos de uso frecuente en Linux.

whereis -l

Buscar binarios en rutas personalizadas

Después de la opción de lista de rutas, se necesita -f para iniciar el procesamiento del nombre de archivo.

whereis -B /usr/local/bin /opt/tools/bin -f mytool

Diagnosticar la ruta de ejecución y los archivos relacionados juntos

Verifique por separado los resultados de la selección del shell y los archivos relacionados en las ubicaciones estándar.

command -v python3
whereis python3

Comparar whereis con comandos relacionados

Comando Rol principal Situaciones adecuadas
whereis Archivos relacionados en ubicaciones estándar Exploración de binarios, fuentes y manuales
which Archivos ejecutables en PATH Verificar rutas de ejecución externas
type Tipos de comandos de shell Diagnóstico incluyendo alias, funciones y elementos incorporados
find Recorrido directo de la ruta Ubicaciones arbitrarias y condiciones complejas

Precauciones al usar

No es una búsqueda de disco completo

Los archivos instalados fuera de la ruta de búsqueda pueden no ser visibles.

Consultar por el nombre base

Generalmente se especifica el nombre del programa y las rutas previas y las extensiones conocidas se manejan internamente.

Verificar -f detrás de -B·-M·-S

Si no se distingue entre el final de la lista de directorios de búsqueda y el inicio del nombre del archivo, la interpretación de los argumentos será diferente.

FAQ

¿whereis solo busca en PATH?

No. Busca en las rutas estándar de binarios, fuentes y manuales, así como en ubicaciones obtenidas del entorno.

¿Por qué no hay ningún resultado?

Es posible que esté instalado en una ubicación no estándar o que el tipo de archivo seleccionado no esté en la ruta de búsqueda.

¿Se pueden ver las rutas de búsqueda?

En la implementación de util-linux se utiliza whereis -l.

¿Cómo buscar archivos en todo el sistema?

Para buscar el estado actual directamente, use find, y para la búsqueda de nombres basada en índices, use locate.

Documentación oficial