From 9a24507aa4d897b4c44840713bc502be74b45776 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Sat, 16 May 2026 19:09:33 +0200 Subject: [PATCH] draft: La commande `type` sous Linux --- .../draft_overlay.json | 5 ++ .../draft_overlay.md | 72 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.json create mode 100644 df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.md diff --git a/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.json b/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.json new file mode 100644 index 0000000..4970e61 --- /dev/null +++ b/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.json @@ -0,0 +1,5 @@ +{ + "title": "La commande `type` sous Linux", + "slug": "type", + "_updated_at": "2026-05-16 17:09:33" +} diff --git a/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.md b/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.md new file mode 100644 index 0000000..2245950 --- /dev/null +++ b/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.md @@ -0,0 +1,72 @@ +# La commande `type` sous Linux + +La commande `type` permet de savoir comment le shell interprète un nom de commande : alias, fonction, primitive (builtin), mot-clé du shell ou exécutable sur le disque. C'est un outil précieux pour comprendre pourquoi une commande se comporte d'une certaine manière et pour déboguer son environnement shell. + +`type` est une primitive intégrée à Bash (et conforme à POSIX), il n'y a donc rien à installer. + +## Syntaxe + +```bash +type [options] nom [nom ...] +``` + +Où `nom` est la commande à examiner. Plusieurs noms peuvent être passés en argument. + +## Les options + +- **`-a`** : affiche **toutes** les interprétations possibles du nom, dans l'ordre où le shell les considère (alias, fonction, builtin, puis exécutables trouvés dans `PATH`). + +- **`-t`** : affiche un mot unique décrivant le type de la commande : `alias`, `function`, `builtin`, `keyword` ou `file`. Pratique dans les scripts. + +- **`-p`** : affiche le chemin de l'exécutable qui serait lancé. Ne produit **aucune sortie** si le nom correspond à un alias, une fonction ou un builtin. + +- **`-P`** : force la recherche dans `PATH` et affiche le chemin de l'exécutable correspondant, **même si** le nom est aussi un alias ou une fonction. + +## Exemples + +Vérifier un alias : + +```bash +$ type ls +ls est un alias vers « ls --color=auto » +``` + +Afficher toutes les interprétations d'un nom : + +```bash +$ type -a ls +ls est un alias vers « ls --color=auto » +ls est /usr/bin/ls +``` + +Identifier une primitive du shell : + +```bash +$ type cd +cd est une primitive du shell +``` + +Vérifier un exécutable binaire : + +```bash +$ type grep +grep est /usr/bin/grep +``` + +Obtenir uniquement le type, utile en script : + +```bash +$ type -t grep +file +$ type -t cd +builtin +``` + +Récupérer le chemin d'un binaire en ignorant un éventuel alias : + +```bash +$ type -P ls +/usr/bin/ls +``` + +En résumé, `type` est l'outil le plus fiable pour répondre à la question « qu'est-ce qui s'exécute réellement quand je tape cette commande ? », là où `which` ne voit que les fichiers du `PATH`. \ No newline at end of file