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 type
para 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
if
yelif
. También se denominan palabras clave.
El type
comando 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 date
comando es un archivo de disco ejecutable.
tipo ls
El ls
comando es un alias, que envuelve el ls
comando subyacente para usar la --color=auto
opción por defecto.
tipo lowdown
El lowdown
comando 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
, free
y df
.
tipo pwd
El pwd
comando es un comando integrado del shell Bash.
tipo elif
El elif
comando 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 type
aceptará tiene nombre. Para que podamos sacar nuestro libro de nombres y bautizarlos nosotros mismos. Si piensa que la -t
opción significa “conciso”, no estará muy equivocado. Reduce las respuestas de type
a 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 -p
opció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 -f
opción obliga type
a 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 -P
opción, type
solo 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
type
no da ninguna respuesta para ls
porque es ls
un alias y no un archivo de disco.
Pero si incluimos la -a
opción para que type
busque todas las instancias del ls
comando, enumera el archivo de disco subyacente que ls
utiliza 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 type
te permite averiguar cuál es.