Obtenir de l’aide sur les commandes Linux

LinuxBeginner
Pratiquer maintenant

Introduction

Les utilisateurs expérimentés de Linux ne mémorisent pas toutes les commandes ni toutes leurs options. Ils savent demander au système ce que signifie un nom, trouver un bref résumé de l’utilisation d’une commande, ouvrir sa documentation complète et effectuer des recherches thématiques dans les manuels.

Cet atelier s’inscrit dans la continuité directe des opérations de base sur les fichiers. Vous examinerez des commandes familières telles que cd, ls et cp, puis enregistrerez de petites preuves dans /home/labex/project/command-help. À la fin, une syntaxe inconnue ne sera plus un obstacle, mais simplement une question de documentation.

Identifier la nature d’un nom de commande

Dans cette étape, vous allez distinguer les commandes internes du shell, les alias et les fichiers exécutables afin de choisir la source d’aide appropriée.

Accédez à l’espace de travail de l’atelier :

cd /home/labex/project/command-help

Certaines commandes sont intégrées au shell parce qu’elles doivent modifier le shell lui-même. Demandez au shell ce qu’est cd :

type cd

Vous devriez voir une sortie contenant :

cd is a shell builtin

D’autres noms peuvent être des alias — des remplacements abrégés configurés par le shell — ou des programmes externes enregistrés sous forme de fichiers. Examinez ls :

type ls

Selon la configuration du shell, la sortie peut indiquer un alias ou le chemin d’un fichier exécutable. Utilisez type -a pour afficher toutes les formes correspondantes que le shell peut trouver :

type -a ls

command -V fournit une autre description lisible :

command -V cp

command -v affiche la commande ou le chemin que le shell choisirait effectivement :

command -v cp

Enregistrez un court rapport de classification. Le premier > crée ou remplace le rapport ; chaque >> suivant ajoute la sortie d’une autre commande sans effacer les lignes précédentes :

type cd > command-types.txt
type ls >> command-types.txt
command -V cp >> command-types.txt
cat command-types.txt

Le rapport doit identifier cd comme une commande interne et décrire ls et cp. Connaître la nature d’une commande est utile, car les commandes internes du shell utilisent souvent help, tandis que les programmes externes proposent généralement --help et des pages de manuel.

Lire l’aide rapide et la syntaxe d’utilisation

Dans cette étape, vous utiliserez l’aide intégrée et --help, puis apprendrez à interpréter la notation courante d’une ligne d’utilisation.

Comme cd est une commande interne du shell, demandez à Bash sa documentation avec help :

help cd

La première ligne commence par un modèle d’utilisation semblable à cd [-L|[-P ...]] [dir]. Vous n’avez pas encore besoin de comprendre chaque option. Concentrez-vous sur la structure : le nom de la commande apparaît en premier et les éléments entre crochets sont facultatifs.

Les programmes externes prennent souvent en charge --help. L’aide complète de ls est longue ; il s’agit donc de la première utilisation volontaire d’un pipeline dans ce cours. Un tube s’écrit |. La commande de gauche produit une sortie standard, tandis que celle de droite reçoit cette sortie comme entrée. Ici, head -n 8 ne conserve que les huit premières lignes :

ls --help | head -n 8

La première ligne suit la forme générale suivante :

Usage: ls [OPTION]... [FILE]...

[OPTION]... signifie zéro option ou davantage. [FILE]... signifie zéro argument de fichier ou de répertoire ou davantage. Les crochets décrivent la syntaxe ; vous ne devez pas les saisir littéralement.

Consultez l’aide rapide de la commande de copie :

cp --help | head -n 8

Enregistrez les premières lignes des deux commandes avec des libellés de section. > commence un nouveau fichier, tandis que >> ajoute chacune des sections suivantes :

echo "=== ls ===" > quick-help.txt
ls --help | head -n 3 >> quick-help.txt
echo "=== cp ===" >> quick-help.txt
cp --help | head -n 3 >> quick-help.txt
cat quick-help.txt

Ce petit fichier ne remplace pas le texte d’aide complet ; il montre que vous savez trouver et reconnaître les lignes d’utilisation d’une commande.

Parcourir une page de manuel

Dans cette étape, vous utiliserez l’outil interactif man et découvrirez la signification des sections des manuels.

Ouvrez la page de manuel de ls :

man ls

Le manuel s’ouvre dans un afficheur paginé, généralement less. Essayez les touches suivantes dans l’afficheur :

  • Flèche vers le bas : descendre d’une ligne ;
  • Espace : avancer d’un écran ;
  • b : reculer d’un écran ;
  • saisissez /sort, puis appuyez sur Entrée : rechercher sort vers l’avant ;
  • n : passer à l’occurrence suivante ;
  • q : quitter et revenir à l’invite du shell.

L’en-tête affiche généralement LS(1). Le nombre correspond à une section du manuel. La section 1 contient les commandes destinées aux utilisateurs ordinaires ; les autres sections couvrent notamment les appels système, les fonctions de bibliothèque, les formats de configuration et les commandes d’administration.

Utilisez man -f pour obtenir une description sur une seule ligne, également appelée recherche « whatis » :

man -f ls

Enregistrez un extrait non interactif de la même page de manuel. Lisez ce pipeline de gauche à droite : -P cat demande à man d’afficher le contenu au lieu d’ouvrir un afficheur paginé, col -b supprime les caractères de contrôle utilisés pour le formatage du terminal, head -n 20 conserve vingt lignes et > enregistre le flux final :

man -P cat ls | col -b | head -n 20 > ls-man-excerpt.txt
cat ls-man-excerpt.txt

Vous devriez voir l’en-tête du manuel, le nom, le synopsis et le début de la description. Cela confirme que les modes d’affichage interactif et non interactif proviennent de la même documentation.

Découvrir des commandes par thème

Dans cette étape, vous utiliserez apropos lorsque vous connaissez la tâche à effectuer, mais pas le nom de la commande.

apropos recherche dans les descriptions courtes enregistrées dans la base de données des manuels. Recherchez la documentation liée aux mots de passe :

apropos password | head -n 15

Chaque résultat contient le nom d’un manuel, sa section entre parenthèses et une brève description. L’un des résultats devrait décrire passwd.

Recherchez les sujets liés aux fichiers :

apropos file | head -n 20

Les mots-clés généraux renvoient de nombreux résultats. Une expression plus précise peut être plus utile :

apropos "copy files"

Vous pouvez également filtrer un résultat général. L’option -i demande à grep d’ignorer la casse, tandis que -m 5 arrête la recherche après cinq lignes correspondantes :

apropos file | grep -i -m 5 'copy'

Enregistrez la recherche complète sur les mots de passe afin de pouvoir l’examiner ultérieurement :

apropos password > password-topics.txt
grep -E '^passwd|change.*password' password-topics.txt | head

Si apropos ne renvoie aucun résultat sur un système récemment installé, la base de données des manuels doit peut-être être mise à jour avec sudo mandb. Cet atelier prépare automatiquement la base de données, mais connaître cette relation vous aidera à résoudre plus facilement les problèmes liés à cet outil dans d’autres environnements.

Résumé

Vous avez appris une méthode systématique pour obtenir de l’aide : utilisez type ou command -V pour identifier un nom, help ou --help pour consulter rapidement la syntaxe, man pour accéder à la documentation complète et apropos lorsque vous connaissez le sujet, mais pas la commande. Ces outils évitent de devoir mémoriser chaque option et vous préparent à étudier des commandes inconnues pendant la suite du cours.