Comment utiliser la commande de type Linux



Identifier la nature d’une commande Linux avec « type »

Lorsque vous saisissez une instruction dans le terminal de votre système Linux, il est rare que l’on s’interroge sur les mécanismes qui sous-tendent l’exécution de cette commande. On tape, on obtient un résultat, et on poursuit son travail. Pourtant, comprendre comment ces commandes sont traitées peut enrichir notre connaissance du fonctionnement du système d’exploitation.

Cette compréhension nous permet de mieux saisir l’architecture d’un système d’exploitation basé sur Linux ou un autre Unix. Jeter un coup d’œil sous le capot peut nous rendre plus avertis.

Les instructions que nous utilisons en ligne de commande se répartissent en plusieurs catégories :

  • Alias: Une commande définie par l’utilisateur (ou le système) qui enclenche l’exécution d’une séquence de commandes, souvent plus longue ou complexe.
  • Fichier disque: Un fichier exécutable binaire, tel que /usr/bin/top.
  • Fonction Shell: Une fonction créée par l’utilisateur (ou le système) utilisable directement dans le terminal ou intégrée dans des scripts.
  • Commande intégrée: Une commande exécutée directement par le shell, comme pwd.
  • Mot réservé: Un terme dédié du shell, comme if ou elif, parfois qualifiés de mots-clés.

La commande type identifie la catégorie à laquelle appartient une commande donnée. Voici un bref tutoriel pour comprendre son interprétation.

Utilisation de la commande « type »

Examinons quelques exemples pour illustrer chaque type de commande :

type date

La commande date est un fichier exécutable.

type ls

La commande ls est un alias, englobant la commande ls avec l’option --color=auto par défaut.

type lowdown

La commande lowdown est une fonction personnalisée, configurée sur le système utilisé pour cet article. Elle fournit un aperçu rapide de certaines ressources système et combine whoami, w, free et df.

type pwd

La commande pwd est une commande intégrée du shell Bash.

type elif

La commande elif est un mot réservé du shell Bash.

Identifier plusieurs commandes

Vous pouvez utiliser type pour identifier plusieurs commandes en une seule fois:

type date top ls

L’option « -t » (Type)

L’option -t de type permet une réponse plus concise. Elle limite la sortie à un seul mot, indiquant la nature de la commande.

type -t date
type -t pwd
type -t lowdown

L’option « -a » (Tout)

L’option -a affiche tous les emplacements où la commande est définie. Elle est particulièrement utile pour distinguer les alias et les commandes sous-jacentes, et ne fonctionne pas avec -p.

Par exemple, si un alias a le même nom que la commande qu’il remplace, on peut visualiser les informations relatives à l’alias ainsi qu’à la commande elle-même.

type -a ls

L’option « -f » (Fonction Désactivée)

L’option -f empêche type de rechercher des fonctions définies par l’utilisateur ou le système. Elle signale qu’une commande est introuvable si elle est définie comme une fonction.

type -f top
type -f lowdown

L’option « -P » (Chemin)

Avec l’option -P (P majuscule), type limite sa recherche aux répertoires listés dans la variable $PATH.

type -P date chmod adduser

L’option « -p » (Fichier Disque)

L’option -p (p minuscule) demande à type de répondre uniquement si la commande est un fichier sur le disque.

type -p mount
type -p ls
type -p -a ls

type ne donne aucune réponse pour ls car ls est un alias.
Cependant, en utilisant -a, type va afficher le fichier sous-jacent à l’alias ls.

Conclusion

Cet aperçu, bien que simple, apporte un éclairage pertinent.

Nous avons tendance à percevoir tout ce que nous saisissons dans le terminal comme une « commande » uniforme. Or, ces commandes sont en fait implémentées de diverses manières au sein du système Linux. L’outil type nous permet de déterminer précisément la nature de chaque instruction.