Tabla de contenidos

Descubra si un comando se resuelve en un alias, un archivo de disco, una función de shell, un comando integrado o una palabra reservada. Úselo typepara descubrir cómo se ejecutan sus comandos de Linux y comprender mejor su sistema.
Hacer mi oferta
Cuando abrimos una ventana de terminal y comenzamos a enviar comandos a nuestra computadora Linux, rara vez nos detenemos a pensar qué componentes de software dentro del sistema operativo están reaccionando a nuestros comandos y ejecutándolos por nosotros. Escribimos el comando, obtenemos el resultado y seguimos adelante con nuestra carga de trabajo.
Saber cómo se ejecutan los comandos nos da una mejor comprensión de la forma en que está construido nuestro sistema operativo Linux u otro tipo Unix. Echar un vistazo debajo del capó puede convertirnos en un conductor más informado.
Las instrucciones que emitimos a la línea de comando están en una de las siguientes categorías:
- Alias : Un comando definido por el usuario (o sistema) que hace que se produzcan otras secuencias de comandos, generalmente largas o complejas.
- Archivo de disco : un archivo ejecutable binario, como
/usr/bin/top. - Función de shell : una función definida por el usuario (o el sistema) que se puede utilizar en la línea de comandos o incluir en los scripts.
- Comando integrado : un comando que ejecuta el propio shell, como
pwd. - Palabra reservada : una palabra reservada por el shell como
ifyelif. También se denominan palabras clave.
El typecomando nos dice a qué categoría pertenece cualquiera de los comandos de Linux. Aquí hay un tutorial rápido para comprender la salida del comando.
El tipo Command
Repasemos algunos ejemplos rápidos, para cada una de las categorías de comando.
tipo fecha

El datecomando es un archivo de disco ejecutable.
tipo ls

El lscomando es un alias, que envuelve el lscomando subyacente para usar la --color=autoopción por defecto.
tipo lowdown

El lowdowncomando es una función definida por el usuario que se configuró en el viajero que se utilizó para investigar este artículo. Proporciona una instantánea rápida de algunos recursos del sistema. Es una combinación de whoami, w, freey df.
tipo pwd

El pwdcomando es un comando integrado del shell Bash.
tipo elif

El elifcomando es una palabra reservada del shell Bash.
Usando múltiples comandos
Puede dar type varios comandos para identificar a la vez.
tipo fecha superior ls

La opción -t
Ninguna de las opciones que typeaceptará tiene nombre. Para que podamos sacar nuestro libro de nombres y bautizarlos nosotros mismos. Si piensa que la -topción significa “conciso”, no estará muy equivocado. Reduce las respuestas de typea respuestas de una sola palabra.
tipo -t fecha
tipo -t pwd
type -t lowdown

La opción -a
Llamemos a esta la opción «todos». Enumera todas las ubicaciones en las que se encuentra el comando. Tenga en cuenta que esta opción no funcionará si también usa la -popción.
Por ejemplo, si tiene un alias con el mismo nombre que el comando subyacente, puede obtener información sobre el alias y el comando.
tipo -a ls

La opción -f
La -fopción obliga typea no buscar funciones definidas por el usuario o el sistema. Piense en esta opción como «búsqueda de función desactivada». Tenga en cuenta que si el comando es una función, type informará que no se puede encontrar el comando.
tipo -f superior
tipo -f verdad

La opción -P
Si usa la -Popción, typesolo buscará los directorios en $ PATH . Entonces podemos llamar a esta opción «ruta». Tenga en cuenta que esta opción utiliza una «P» mayúscula
tipo -P fecha chmod adduser

La opción -p
Si usa la -p opción, type solo responderá si el comando es un archivo del disco duro. Tenga en cuenta que esta opción utiliza una «p» minúscula.
montaje tipo -p
tipo -p ls
tipo -p -a ls

typeno da ninguna respuesta para lsporque es lsun alias y no un archivo de disco.
Pero si incluimos la -aopción para que typebusque todas las instancias del lscomando, enumera el archivo de disco subyacente que lsutiliza el alias.
Resumen
Eso fue agradable y simple, pero esclarecedor de todos modos.
Tendemos a pensar en cualquier cosa que escribimos en una ventana de terminal como un «comando», y lo dejamos así. Pero, en realidad, los comandos se implementan de diversas formas en el sistema Linux. Y typete permite averiguar cuál es.