diff --git a/.version_check_cache.json b/.version_check_cache.json index 11cfb28..a3af40e 100644 --- a/.version_check_cache.json +++ b/.version_check_cache.json @@ -1 +1 @@ -{"fetched_at":1778947596,"version":"1.6.26"} +{"fetched_at":1778951288,"version":"1.6.26"} 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..9d82e77 --- /dev/null +++ b/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.json @@ -0,0 +1,4 @@ +{ + "title": "La commande `type` sous Linux", + "_updated_at": "2026-05-16 17:09:09" +} 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..ddeac4c --- /dev/null +++ b/df68156a-007f-46d7-97c3-a6ef221b2290/draft_overlay.md @@ -0,0 +1,74 @@ +# La commande `type` sous Linux + +![Déterminer comment une commande est interprétée](1200px-gnulinux.jpg) + +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