draft: type

This commit is contained in:
Cédrix
2026-05-16 19:09:09 +02:00
parent 9dfaa5d08f
commit 3cd6354a71
3 changed files with 79 additions and 1 deletions
+1 -1
View File
@@ -1 +1 @@
{"fetched_at":1778947596,"version":"1.6.26"}
{"fetched_at":1778951288,"version":"1.6.26"}
@@ -0,0 +1,4 @@
{
"title": "La commande `type` sous Linux",
"_updated_at": "2026-05-16 17:09:09"
}
@@ -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 ...]
```
`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`.