Cómo comprobar si un comando está disponible en Linux

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

En este laboratorio, aprenderás cómo determinar si un comando está disponible en Linux y dónde se encuentra. Explorarás tres métodos diferentes: utilizar el comando which para encontrar la ruta del ejecutable, usar command -v para verificar la presencia y identificar comandos incorporados (built-in) o alias, y utilizar el comando type para comprobar el tipo de comando.

Al completar estos pasos, adquirirás habilidades prácticas para identificar y localizar comandos dentro de tu entorno Linux, lo cual es esencial para un uso eficaz de la línea de comandos y la resolución de problemas.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") subgraph Lab Skills linux/echo -.-> lab-558701{{"Cómo comprobar si un comando está disponible en Linux"}} linux/ls -.-> lab-558701{{"Cómo comprobar si un comando está disponible en Linux"}} linux/which -.-> lab-558701{{"Cómo comprobar si un comando está disponible en Linux"}} end

Localizar la ruta de un comando con which

En este paso, aprenderás cómo encontrar la ubicación de un comando en tu sistema utilizando el comando which. Cuando escribes un comando en la terminal, el sistema necesita saber dónde se encuentra el archivo ejecutable de ese comando. El comando which te ayuda a encontrar esta ruta.

Vamos a encontrar la ruta del comando echo que utilizaste en el laboratorio anterior.

Escribe el siguiente comando en tu terminal y presiona Enter:

which echo

Deberías ver una salida similar a esta:

/usr/bin/echo

Esta salida te indica que el ejecutable de echo se encuentra en el directorio /usr/bin/. /usr/bin es un directorio común para almacenar programas ejecutables que están disponibles para todos los usuarios.

Ahora, intentemos encontrar la ruta del comando htop que instalaste.

Escribe el siguiente comando y presiona Enter:

which htop

La salida debería ser similar a:

/usr/bin/htop

Esto confirma que htop también se encuentra en el directorio /usr/bin/.

El comando which es muy útil cuando necesitas saber exactamente qué versión de un comando se está ejecutando, especialmente si tienes múltiples versiones instaladas o si el comando se encuentra en un directorio menos común.

Verificar la presencia de un comando con command -v

En este paso, aprenderás otra forma de comprobar la existencia y ubicación de un comando utilizando command -v. Esto es similar a which, pero también puede indicarte si un comando es un comando incorporado (built-in) de la shell o un alias, no solo un archivo ejecutable.

Vamos a utilizar command -v para comprobar la existencia del comando echo.

Escribe el siguiente comando en tu terminal y presiona Enter:

command -v echo

Deberías ver una salida similar a esta:

echo

En este caso, command -v nos indica que echo es un comando incorporado de la shell. Los comandos incorporados son parte de la propia shell, en lugar de archivos ejecutables separados.

Ahora, vamos a comprobar la existencia del comando htop utilizando command -v.

Escribe el siguiente comando y presiona Enter:

command -v htop

La salida debería ser similar a:

/usr/bin/htop

Aquí, command -v nos da la ruta completa al ejecutable de htop, al igual que which. Esto indica que htop es un comando externo (un archivo ejecutable), no un comando incorporado de la shell.

Utilizar command -v es una forma sólida de determinar cómo la shell interpretará un nombre de comando. Es especialmente útil para distinguir entre alias, comandos incorporados y ejecutables externos.

Comprobar el tipo de comando utilizando el comando type

En este paso, utilizarás el comando type para obtener una descripción de cómo la shell interpreta un nombre de comando. El comando type es incluso más detallado que command -v y puede decirte si un comando es un alias, una palabra clave, una función, un comando incorporado (built-in) o un archivo.

Vamos a utilizar type para comprobar el comando echo.

Escribe el siguiente comando en tu terminal y presiona Enter:

type echo

Deberías ver una salida similar a esta:

echo is a shell builtin

Esta salida indica claramente que echo es un comando incorporado de la shell.

Ahora, vamos a comprobar el comando htop utilizando type.

Escribe el siguiente comando y presiona Enter:

type htop

La salida debería ser similar a:

htop is /usr/bin/htop

Aquí, type nos dice que htop se encuentra en /usr/bin/htop, lo que indica que es un archivo ejecutable.

Vamos a probar con otro ejemplo de un comando que podría ser un alias. Los alias son atajos para comandos más largos. Aunque es posible que no haya un alias predeterminado configurado en este entorno, veamos lo que dice type sobre un comando común como ls.

Escribe el siguiente comando y presiona Enter:

type ls

La salida puede variar dependiendo de la configuración de la shell, pero probablemente mostrará algo como:

ls is an alias for ls --color=auto

Esto indica que ls es un alias que agrega automáticamente color a la salida.

El comando type es una herramienta poderosa para entender cómo tu shell resuelve los nombres de los comandos y puede ser muy útil para depurar scripts o comprender el comportamiento de los comandos.

Resumen

En este laboratorio, aprendiste cómo comprobar si un comando está disponible en Linux y determinar su tipo y ubicación. Primero utilizaste el comando which para encontrar la ruta completa de comandos ejecutables como echo y htop, demostrando cómo localizar dónde reside el archivo binario de un comando en el sistema, generalmente en directorios como /usr/bin.

Posteriormente, exploraste la utilidad command -v, que proporciona una comprobación más completa. Este comando no solo indica la ubicación de los archivos ejecutables, sino que también identifica si un comando es un comando incorporado (built-in) de la shell, como se mostró con el comando echo. Esta distinción es importante para entender cómo la shell procesa diferentes tipos de comandos.