publish: apropos
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"title": "apropos",
|
||||
"_updated_at": "2026-05-17 07:47:30",
|
||||
"slug": "apropos",
|
||||
"published": true,
|
||||
"published_at": "2023-01-11 17:55",
|
||||
"category": "Informatique",
|
||||
"tags": [],
|
||||
"seo_title": "",
|
||||
"seo_description": ""
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
# apropos
|
||||
|
||||
## À quoi ça sert ?
|
||||
|
||||
Vous cherchez une commande mais vous ne vous souvenez plus de son nom ? Vous savez ce que vous voulez faire, mais pas comment l'appeler ? C'est exactement le rôle d'`apropos`.
|
||||
|
||||
La commande `apropos` recherche dans les **noms** et les **descriptions courtes** des pages du manuel système (les pages `man`) tous les mots-clés passés en arguments. C'est l'équivalent de `man -k`.
|
||||
|
||||
> **Bon à savoir** : `apropos` ne fouille pas le contenu complet des pages de manuel, seulement la ligne `NAME` (nom + description courte). Pour une recherche dans le corps des pages, il faut se tourner vers d'autres outils comme `man -K` (avec un K majuscule).
|
||||
|
||||
## Un premier exemple
|
||||
|
||||
Cherchons toutes les commandes liées à la copie :
|
||||
|
||||
```bash
|
||||
$ apropos copy
|
||||
debconf-copydb (1) - copier une base de données debconf
|
||||
bcopy (3) - copy byte sequence
|
||||
copy_file_range (2) - Copy a range of data from one file to another
|
||||
copysign (3) - copy sign of a number
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
...
|
||||
```
|
||||
|
||||
### Comprendre la sortie
|
||||
|
||||
Chaque ligne suit le format : `commande (section) - description`.
|
||||
|
||||
Le **numéro entre parenthèses** correspond à la section du manuel :
|
||||
|
||||
| Section | Contenu |
|
||||
|---------|---------|
|
||||
| 1 | Commandes utilisateur (shell) |
|
||||
| 2 | Appels système (kernel) |
|
||||
| 3 | Fonctions de bibliothèque (C, etc.) |
|
||||
| 4 | Fichiers spéciaux (`/dev/...`) |
|
||||
| 5 | Formats de fichiers et conventions |
|
||||
| 6 | Jeux |
|
||||
| 7 | Divers (protocoles, conventions) |
|
||||
| 8 | Commandes d'administration |
|
||||
|
||||
Cette numérotation explique pourquoi on voit dans l'exemple à la fois `cp (1)` (la commande shell) et `copy_file_range (2)` (l'appel système). Pas pratique quand on cherche juste une commande à taper dans son terminal…
|
||||
|
||||
## Les astuces utiles
|
||||
|
||||
### Limiter la recherche à une section
|
||||
|
||||
Pour n'afficher que les commandes du shell (section 1), utilisez l'option `-s` :
|
||||
|
||||
```bash
|
||||
$ apropos -s 1 copy
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
...
|
||||
```
|
||||
|
||||
Beaucoup plus lisible ! Vous pouvez aussi cibler la section 8 pour les commandes d'admin, ou la section 2 si vous codez en C et cherchez un appel système.
|
||||
|
||||
### Rechercher avec plusieurs mots-clés (ET logique)
|
||||
|
||||
Par défaut, la recherche de plusieurs mots-clés est conditionnée par un **OU** logique. La commande `apropos copy file` retourne donc les pages contenant `copy` **ou** `file` — autant dire la moitié du manuel.
|
||||
|
||||
Pour exiger que **tous** les mots-clés soient présents, utilisez `-a` (comme *and*) :
|
||||
|
||||
```bash
|
||||
$ apropos -s 1 -a copy file
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
install (1) - copy files and set attributes
|
||||
mcopy (1) - copy MSDOS files to/from Unix
|
||||
rcp (1) - secure copy (remote file copy program)
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
```
|
||||
|
||||
### Rechercher avec une expression régulière
|
||||
|
||||
Pour des recherches plus fines, l'option `-r` (activée par défaut sur la plupart des distributions) permet d'utiliser une regex :
|
||||
|
||||
```bash
|
||||
$ apropos '^cp' # commandes commençant par "cp"
|
||||
$ apropos 'copy|move' # contenant "copy" ou "move"
|
||||
```
|
||||
|
||||
L'option `-w` permet à l'inverse d'utiliser des jokers shell (`*`, `?`).
|
||||
|
||||
## « apropos: nothing appropriate » ?
|
||||
|
||||
Si `apropos` ne trouve rien alors que vous êtes sûr·e que la commande existe, c'est probablement que la **base de données des pages de manuel** n'est pas à jour. `apropos` ne lit pas les pages à la volée : il interroge un index pré-construit.
|
||||
|
||||
Pour le régénérer :
|
||||
|
||||
```bash
|
||||
$ sudo mandb
|
||||
```
|
||||
|
||||
C'est typiquement le cas après l'installation d'un nouveau paquet sur certains systèmes minimaux (conteneurs Docker, par exemple).
|
||||
|
||||
## Pour aller plus loin
|
||||
|
||||
- `whatis commande` : affiche uniquement la description courte d'une commande précise (recherche exacte sur le nom)
|
||||
- `man -k` : strictement équivalent à `apropos`
|
||||
- `man -K` : recherche dans le **contenu** complet des pages (beaucoup plus lent)
|
||||
@@ -1,49 +1,111 @@
|
||||
# apropos
|
||||
|
||||
La commande `apropos` permet de lister les manuels dont la **description** ou le **nom** comprend les mots passés en arguments.
|
||||
## À quoi ça sert ?
|
||||
|
||||
Par exemple `apropos copy` listera les commandes permettant d'effectuer des copies.
|
||||
Vous cherchez une commande mais vous ne vous souvenez plus de son nom ? Vous savez ce que vous voulez faire, mais pas comment l'appeler ? C'est exactement le rôle d'`apropos`.
|
||||
|
||||
```BASH
|
||||
La commande `apropos` recherche dans les **noms** et les **descriptions courtes** des pages du manuel système (les pages `man`) tous les mots-clés passés en arguments. C'est l'équivalent de `man -k`.
|
||||
|
||||
> **Bon à savoir** : `apropos` ne fouille pas le contenu complet des pages de manuel, seulement la ligne `NAME` (nom + description courte). Pour une recherche dans le corps des pages, il faut se tourner vers d'autres outils comme `man -K` (avec un K majuscule).
|
||||
|
||||
## Un premier exemple
|
||||
|
||||
Cherchons toutes les commandes liées à la copie :
|
||||
|
||||
```bash
|
||||
$ apropos copy
|
||||
debconf-copydb (1) - copier une base de données debconf
|
||||
arm-linux-gnueabihf-objcopy (1) - copy and translate object files
|
||||
bcopy (3) - copy byte sequence
|
||||
copy_file_range (2) - Copy a range of data from one file to another
|
||||
copysign (3) - copy sign of a number
|
||||
copysignf (3) - copy sign of a number
|
||||
copysignl (3) - copy sign of a number
|
||||
cp (1) - copy files and directories
|
||||
cpgr (8) - copy with locking the given file to the password or group file
|
||||
cpio (1) - copy files to and from archives
|
||||
cppw (8) - copy with locking the given file to the password or group file
|
||||
dd (1) - convert and copy a file
|
||||
debconf-copydb (1) - copier une base de données debconf
|
||||
bcopy (3) - copy byte sequence
|
||||
copy_file_range (2) - Copy a range of data from one file to another
|
||||
copysign (3) - copy sign of a number
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
...
|
||||
```
|
||||
|
||||
# Des astuces
|
||||
> Limiter la recherche à une section de la documentation
|
||||
### Comprendre la sortie
|
||||
|
||||
Pour afficher les commandes de l'interpréteur de commandes, j'utilise le paramètre `-m` :
|
||||
```
|
||||
apropos copy -s 1
|
||||
Chaque ligne suit le format : `commande (section) - description`.
|
||||
|
||||
Le **numéro entre parenthèses** correspond à la section du manuel :
|
||||
|
||||
| Section | Contenu |
|
||||
|---------|---------|
|
||||
| 1 | Commandes utilisateur (shell) |
|
||||
| 2 | Appels système (kernel) |
|
||||
| 3 | Fonctions de bibliothèque (C, etc.) |
|
||||
| 4 | Fichiers spéciaux (`/dev/...`) |
|
||||
| 5 | Formats de fichiers et conventions |
|
||||
| 6 | Jeux |
|
||||
| 7 | Divers (protocoles, conventions) |
|
||||
| 8 | Commandes d'administration |
|
||||
|
||||
Cette numérotation explique pourquoi on voit dans l'exemple à la fois `cp (1)` (la commande shell) et `copy_file_range (2)` (l'appel système). Pas pratique quand on cherche juste une commande à taper dans son terminal…
|
||||
|
||||
## Les astuces utiles
|
||||
|
||||
### Limiter la recherche à une section
|
||||
|
||||
Pour n'afficher que les commandes du shell (section 1), utilisez l'option `-s` :
|
||||
|
||||
```bash
|
||||
$ apropos -s 1 copy
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
...
|
||||
```
|
||||
|
||||
> Rechercher avec plusieurs mots clés
|
||||
Beaucoup plus lisible ! Vous pouvez aussi cibler la section 8 pour les commandes d'admin, ou la section 2 si vous codez en C et cherchez un appel système.
|
||||
|
||||
Par défaut, le recherche de plusieurs mots clés et conditionnée par un **OU**. Par exemple, la ligne de commande `apropos copy file` effectuera la recherche sur le mot `copy` ou `file`.
|
||||
### Rechercher avec plusieurs mots-clés (ET logique)
|
||||
|
||||
Pour effectuer une recherche avec tous les mots clé inclus dans la recherche, il faut utiliser le paramètre `-a`. Par exemple :
|
||||
Par défaut, la recherche de plusieurs mots-clés est conditionnée par un **OU** logique. La commande `apropos copy file` retourne donc les pages contenant `copy` **ou** `file` — autant dire la moitié du manuel.
|
||||
|
||||
```
|
||||
Pour exiger que **tous** les mots-clés soient présents, utilisez `-a` (comme *and*) :
|
||||
|
||||
```bash
|
||||
$ apropos -s 1 -a copy file
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
i686-linux-gnu-objcopy (1) - copy and translate object files
|
||||
install (1) - copy files and set attributes
|
||||
mcopy (1) - copy MSDOS files to/from Unix
|
||||
objcopy (1) - copy and translate object files
|
||||
rcp (1) - secure copy (remote file copy program)
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
```
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
install (1) - copy files and set attributes
|
||||
mcopy (1) - copy MSDOS files to/from Unix
|
||||
rcp (1) - secure copy (remote file copy program)
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
```
|
||||
|
||||
### Rechercher avec une expression régulière
|
||||
|
||||
Pour des recherches plus fines, l'option `-r` (activée par défaut sur la plupart des distributions) permet d'utiliser une regex :
|
||||
|
||||
```bash
|
||||
$ apropos '^cp' # commandes commençant par "cp"
|
||||
$ apropos 'copy|move' # contenant "copy" ou "move"
|
||||
```
|
||||
|
||||
L'option `-w` permet à l'inverse d'utiliser des jokers shell (`*`, `?`).
|
||||
|
||||
## « apropos: nothing appropriate » ?
|
||||
|
||||
Si `apropos` ne trouve rien alors que vous êtes sûr·e que la commande existe, c'est probablement que la **base de données des pages de manuel** n'est pas à jour. `apropos` ne lit pas les pages à la volée : il interroge un index pré-construit.
|
||||
|
||||
Pour le régénérer :
|
||||
|
||||
```bash
|
||||
$ sudo mandb
|
||||
```
|
||||
|
||||
C'est typiquement le cas après l'installation d'un nouveau paquet sur certains systèmes minimaux (conteneurs Docker, par exemple).
|
||||
|
||||
## Pour aller plus loin
|
||||
|
||||
- `whatis commande` : affiche uniquement la description courte d'une commande précise (recherche exacte sur le nom)
|
||||
- `man -k` : strictement équivalent à `apropos`
|
||||
- `man -K` : recherche dans le **contenu** complet des pages (beaucoup plus lent)
|
||||
|
||||
@@ -4,15 +4,24 @@
|
||||
"title": "apropos",
|
||||
"author": "cedric@abonnel.fr",
|
||||
"published": true,
|
||||
"published_at": "2023-01-11 17:55:48",
|
||||
"featured": false,
|
||||
"published_at": "2023-01-11 17:55",
|
||||
"created_at": "2023-01-11 17:55:48",
|
||||
"updated_at": "2023-01-11 17:55:48",
|
||||
"revisions": [],
|
||||
"updated_at": "2026-05-17 07:47:34",
|
||||
"revisions": [
|
||||
{
|
||||
"n": 1,
|
||||
"date": "2026-05-17 07:47:34",
|
||||
"comment": "Contenu modifié",
|
||||
"title": "apropos"
|
||||
}
|
||||
],
|
||||
"cover": "",
|
||||
"files_meta": [],
|
||||
"external_links": [],
|
||||
"seo_title": "",
|
||||
"seo_description": "",
|
||||
"og_image": "",
|
||||
"category": "Informatique"
|
||||
"category": "Informatique",
|
||||
"tags": []
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# apropos
|
||||
|
||||
La commande `apropos` permet de lister les manuels dont la **description** ou le **nom** comprend les mots passés en arguments.
|
||||
|
||||
Par exemple `apropos copy` listera les commandes permettant d'effectuer des copies.
|
||||
|
||||
```BASH
|
||||
$ apropos copy
|
||||
debconf-copydb (1) - copier une base de données debconf
|
||||
arm-linux-gnueabihf-objcopy (1) - copy and translate object files
|
||||
bcopy (3) - copy byte sequence
|
||||
copy_file_range (2) - Copy a range of data from one file to another
|
||||
copysign (3) - copy sign of a number
|
||||
copysignf (3) - copy sign of a number
|
||||
copysignl (3) - copy sign of a number
|
||||
cp (1) - copy files and directories
|
||||
cpgr (8) - copy with locking the given file to the password or group file
|
||||
cpio (1) - copy files to and from archives
|
||||
cppw (8) - copy with locking the given file to the password or group file
|
||||
dd (1) - convert and copy a file
|
||||
```
|
||||
|
||||
# Des astuces
|
||||
> Limiter la recherche à une section de la documentation
|
||||
|
||||
Pour afficher les commandes de l'interpréteur de commandes, j'utilise le paramètre `-m` :
|
||||
```
|
||||
apropos copy -s 1
|
||||
```
|
||||
|
||||
> Rechercher avec plusieurs mots clés
|
||||
|
||||
Par défaut, le recherche de plusieurs mots clés et conditionnée par un **OU**. Par exemple, la ligne de commande `apropos copy file` effectuera la recherche sur le mot `copy` ou `file`.
|
||||
|
||||
Pour effectuer une recherche avec tous les mots clé inclus dans la recherche, il faut utiliser le paramètre `-a`. Par exemple :
|
||||
|
||||
```
|
||||
$ apropos -s 1 -a copy file
|
||||
cp (1) - copy files and directories
|
||||
cpio (1) - copy files to and from archives
|
||||
dd (1) - convert and copy a file
|
||||
i686-linux-gnu-objcopy (1) - copy and translate object files
|
||||
install (1) - copy files and set attributes
|
||||
mcopy (1) - copy MSDOS files to/from Unix
|
||||
objcopy (1) - copy and translate object files
|
||||
rcp (1) - secure copy (remote file copy program)
|
||||
rsync (1) - a fast, versatile, remote (and local) file-copying tool
|
||||
scp (1) - secure copy (remote file copy program)
|
||||
```
|
||||
Reference in New Issue
Block a user