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. Utilice el tipo para descubrir cómo se ejecutan sus comandos de Linux y comprender mejor su sistema.
Tabla de contenido
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 reaccionan a nuestros comandos y los ejecutan 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 comandos 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 sistema) que se puede utilizar en la línea de comandos o incluir en scripts.
Comando integrado: un comando que ejecuta el propio shell, como pwd.
Palabra reservada: una palabra reservada por el shell, como if y elif. También se denominan palabras clave.
El comando de tipo nos dice que categoría cualquiera de los comandos de Linux pertenece. 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.
type date
El comando de fecha es un archivo de disco ejecutable.
type ls
El comando ls es un alias, que envuelve el comando ls subyacente para usar la opción –color = auto por defecto.
type lowdown
El comando lowdown 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.
type pwd
El comando pwd es un comando integrado del shell Bash.
type elif
El comando elif es una palabra reservada del shell Bash.
Usando múltiples comandos
Puede dar varios comandos de tipo para identificarlos a la vez.
type date top ls
La opción -t
Ninguna de las opciones que ese tipo aceptará tendrá nombre. Para que podamos sacar nuestro libro de nombres y bautizarlos nosotros mismos. Si piensa que la opción -t significa “conciso”, no estará muy equivocado. Reduce las respuestas de tipo a respuestas de una sola palabra.
type -t date
type -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 opción -p.
Por ejemplo, si tiene un alias con el mismo nombre que el comando subyacente, puede obtener información sobre el alias y el comando.
type -a ls
La opción -f
La opción -f fuerza al tipo a no buscar funciones definidas por el sistema o el usuario. Piense en esta opción como «búsqueda de función desactivada». Tenga en cuenta que si el comando es una función, el tipo informará que no se puede encontrar el comando.
type -f top
type -f lowdown
La opción -P
Si usa la opción -P, el tipo 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
type -P date chmod adduser
La opción -p
Si usa la opción -p, el tipo solo responderá si el comando es un archivo de disco duro. Tenga en cuenta que esta opción utiliza una «p» minúscula.
type -p mount
type -p ls
type -p -a ls
type no da ninguna respuesta para ls porque ls es un alias y no un archivo de disco.
Pero si incluimos la opción -a para que el tipo busque todas las instancias del comando ls, enumera el archivo de disco subyacente que utiliza el alias ls.
Resumen
Eso fue agradable y simple, pero iluminador 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 el tipo le permite averiguar cuál es.