publish: La commande type sous Linux
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"title": "La commande `type` sous Linux",
|
||||
"slug": "type",
|
||||
"_updated_at": "2026-05-16 17:09:37",
|
||||
"published": true,
|
||||
"published_at": "2023-02-19 08:31",
|
||||
"category": "Informatique",
|
||||
"tags": [],
|
||||
"seo_title": "",
|
||||
"seo_description": "",
|
||||
"og_image": "https://www.abonnel.fr/file?uuid=df68156a-007f-46d7-97c3-a6ef221b2290&name=cover.jpg"
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
# 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`.
|
||||
@@ -7,7 +7,7 @@
|
||||
"featured": false,
|
||||
"published_at": "2023-02-19 08:31",
|
||||
"created_at": "2023-02-19 08:31:11",
|
||||
"updated_at": "2026-05-16 17:09:20",
|
||||
"updated_at": "2026-05-16 17:09:38",
|
||||
"revisions": [
|
||||
{
|
||||
"n": 1,
|
||||
@@ -21,7 +21,7 @@
|
||||
"external_links": [],
|
||||
"seo_title": "",
|
||||
"seo_description": "",
|
||||
"og_image": "",
|
||||
"og_image": "https://www.abonnel.fr/file?uuid=df68156a-007f-46d7-97c3-a6ef221b2290&name=cover.jpg",
|
||||
"category": "Informatique",
|
||||
"tags": []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user