Comando whereis en Linux: Búsqueda de archivos y comandos

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

¡Bienvenido al departamento de Administración de Sistemas de TechCorp! Como nuevo administrador de sistemas junior, tu tarea es dominar el comando whereis. Esta poderosa herramienta te ayudará a localizar archivos binarios, de código fuente y de páginas de manual para varios comandos en el sistema Linux. Al final de este laboratorio (lab), serás capaz de navegar eficientemente por el sistema de archivos y localizar componentes críticos del sistema.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/FileandDirectoryManagementGroup -.-> linux/whereis("File/Command Finding") subgraph Lab Skills linux/whereis -.-> lab-215211{{"Comando whereis en Linux: Búsqueda de archivos y comandos"}} end

Comprender los conceptos básicos de 'whereis'

Tu primera tarea en TechCorp es familiarizarte con el comando whereis. Este comando se utiliza para localizar los archivos binarios, de código fuente y de páginas de manual de un comando especificado.

Comencemos utilizando whereis para encontrar información sobre el comando ls:

whereis ls

Deberías ver una salida similar a esta:

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

Esta salida proporciona dos piezas de información:

  1. /usr/bin/ls: Esta es la ubicación del ejecutable binario de ls. Cuando escribes ls en la terminal, este es el programa real que se ejecuta.
  2. /usr/share/man/man1/ls.1.gz: Esta es la ubicación de la página de manual de ls. Las páginas de manual contienen información detallada sobre cómo usar los comandos.

El comando whereis busca archivos en un conjunto restringido de ubicaciones, incluyendo directorios binarios estándar, directorios de bibliotecas y directorios de páginas de manual. Esto lo hace más rápido que buscar en todo el sistema de archivos.

Si te preguntas qué significan estas rutas:

  • /usr/bin es una ubicación común para los comandos de usuario.
  • /usr/share/man es donde normalmente se almacenan las páginas de manual.
  • man1 indica que esta es una página de manual de un comando de usuario (en contraste con llamadas al sistema o funciones de biblioteca).
  • La extensión .gz significa que el archivo está comprimido para ahorrar espacio.

Encontrar archivos binarios

Tu líder de equipo te pide que localices el archivo binario del comando grep. La opción -b de whereis es perfecta para esta tarea, ya que busca específicamente archivos binarios.

Prueba el siguiente comando:

whereis -b grep

Podrías ver una salida como esta:

grep: /usr/bin/grep

Esta salida muestra la ubicación del archivo binario de grep. Los archivos binarios son los programas ejecutables que se ejecutan cuando escribes un comando. En este caso, cuando usas el comando grep, en realidad estás ejecutando el programa ubicado en /usr/bin/grep.

Ahora, intentemos encontrar el binario de un comando que puede no existir en el sistema. Utiliza whereis -b para buscar un comando ficticio llamado nonexistent:

whereis -b nonexistent

Deberías ver:

nonexistent:

Esta salida vacía indica que no se encontró ningún archivo binario para el comando nonexistent. Esto es útil cuando no estás seguro de si un comando en particular está instalado en tu sistema.

Localizar páginas de manual

Tu siguiente tarea es encontrar las páginas de manual del comando ssh. Las páginas de manual son esenciales para entender cómo usar varios comandos.

Utiliza la opción -m con whereis para localizar las páginas de manual:

whereis -m ssh

Podrías ver una salida similar a esta:

ssh: /usr/share/man/man1/ssh.1.gz

Esta salida muestra la ubicación de la página de manual del comando ssh. La extensión .gz indica que el archivo está comprimido para ahorrar espacio.

Para ver el contenido de una página de manual, normalmente se utilizaría el comando man. Sin embargo, como aún no hemos cubierto ese comando, simplemente confirmemos que el archivo existe:

ls /usr/share/man/man1/ssh.1.gz

Si el archivo existe, verás su nombre en la salida. Esto confirma que la página de manual está realmente presente en tu sistema.

Comprender las ubicaciones de las páginas de manual es crucial para los administradores de sistemas. Te permite verificar si la documentación está disponible para un comando en particular, lo cual puede ser invaluable cuando necesitas entender cómo usar una herramienta o solucionar problemas.

Combinar opciones

A medida que te sientas más cómodo con whereis, tu líder de equipo te desafía a encontrar tanto el archivo binario como la página de manual del comando python3 de una sola vez.

Puedes combinar las opciones -b y -m para lograr esto:

whereis -bm python3

Podrías ver una salida como esta:

python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz

Esta salida proporciona una gran cantidad de información:

  • /usr/bin/python3: La ubicación del archivo binario de Python 3 (el programa ejecutable)
  • /usr/lib/python3: El directorio que contiene las bibliotecas de Python 3 (código reutilizable utilizado por los programas de Python)
  • /etc/python3: Un directorio que contiene archivos de configuración de Python 3
  • /usr/share/python3: Un directorio que contiene datos compartidos de Python 3
  • /usr/share/man/man1/python3.1.gz: La ubicación de la página de manual de Python 3

Esta vista completa es especialmente útil cuando estás trabajando con software complejo que tiene múltiples componentes distribuidos por todo el sistema de archivos. Te da una visión rápida de dónde se encuentra todo.

Explorar archivos de código fuente

Para la tarea final, tu líder de equipo quiere que verifiques si los archivos de código fuente de la shell bash están disponibles en el sistema. Los archivos de código fuente pueden ser útiles para entender cómo funciona un programa o para compilar versiones personalizadas.

Utiliza la opción -s para buscar archivos de código fuente:

whereis -s bash

La salida puede estar vacía, ya que los archivos de código fuente no se instalan por defecto en la mayoría de los sistemas. Si ves una salida, indicará la ubicación de los archivos de código fuente de bash en tu sistema.

Ahora, combinemos todas las opciones para obtener una imagen completa del comando bash:

whereis bash

Este comando sin opciones mostrará toda la información disponible sobre bash, que podría verse así:

bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

Esta salida muestra:

  • /usr/bin/bash: El ejecutable binario de bash
  • /etc/bash.bashrc: Un archivo de configuración de sistema para bash
  • /usr/share/man/man1/bash.1.gz: La página de manual de bash

Comprender las ubicaciones de estos archivos es crucial para las tareas de administración de sistemas. Por ejemplo, si necesitas modificar el comportamiento predeterminado de bash para todos los usuarios, sabrías que debes buscar en /etc/bash.bashrc.

Resumen

En este laboratorio, has aprendido cómo usar el comando whereis para localizar archivos binarios, de código fuente y de páginas de manual para varios comandos en el sistema Linux. Has descubierto cómo:

  1. Obtener información básica sobre comandos
  2. Localizar archivos binarios utilizando la opción -b
  3. Encontrar páginas de manual utilizando la opción -m
  4. Combinar opciones para obtener información más completa
  5. Buscar archivos de código fuente utilizando la opción -s

Estas habilidades resultarán invaluable en tu papel como administrador de sistemas, ya que te permitirán localizar rápidamente archivos importantes y entender la estructura de tu sistema Linux.

Otras opciones del comando whereis no cubiertas en este laboratorio incluyen:

  • -u: Buscar entradas inusuales (archivos que no siguen el patrón de nomenclatura habitual)
  • -B: Cambiar o restringir los lugares donde whereis busca archivos binarios
  • -M: Cambiar o restringir los lugares donde whereis busca páginas de manual
  • -S: Cambiar o restringir los lugares donde whereis busca archivos de código fuente

A medida que continúes tu camino en la administración de sistemas, recuerda que whereis es solo una de las muchas herramientas a tu disposición. Es especialmente útil para búsquedas rápidas, pero para búsquedas de archivos más completas, es posible que desees explorar comandos como find o locate en el futuro.