Los muchos comandos que podemos llegar a utilizar se pueden clasificar en categorías de acuerdo a su origen. Algunos de ellos están incorporados en la shell, mientras que otros provienen de un determinado paquete que hayamos instalado. También existe la posibilidad de que un comando sea en realidad un alias de otro comando con sus opciones. En este post mostraremos cómo usar type en Linux para determinar la categoría a la que pertenece un comando determinado.
Los ejemplos que figuran a continuación fueron realizados en una máquina con CentOS 7. Otras distribuciones pueden tener creados diferentes alias o distintos comandos disponibles.
Usar type en Linux
Para empezar, ejecutemos los siguientes comandos en una terminal:
# Un alias type rm # Un shell builtin type cd # Un comando regular type yum
En la Fig. 1 podemos ver que el primer comando es un alias de rm -i
. Por otro lado, el segundo es un shell builtin (utilidad incorporada en la shell), mientras que el último corresponde a un ejecutable cuya ubicación es /usr/bin/yum.
Por supuesto, type
acepta varias opciones que pueden modificar su uso. En primer lugar, podemos mencionar -P
, la cual obliga a una búsqueda dentro de los directorios indicados en la variable de entorno PATH. Además, también podemos utilizar -a
para mostrar todas las coincidencias encontradas en los mismos.
Ejemplo final
Antes de realizar este ejemplo, copié a propósito dentro del directorio /usr/local/bin (el cual aparece antes de /usr/bin en PATH) el archivo binario correspondiente a yum (importante: ¡no olvidarse de deshacer el cambio luego del ejemplo!):
cp /usr/bin/yum /usr/local/bin/
Y finalmente
type -Pa yum
En la Fig. 2 podemos ver que type yum
ahora nos devuelve yum is /usr/local/bin/yum
. Por otro lado, al usar la opción combinada -Pa
vemos todas las coincidencias disponibles en PATH.
Antes de terminar:
rm /usr/local/bin/yum
Espero que este post les haya resultado útil. ¡Nos leemos en breve!
¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!