Obtenir de l’aide sur les commandes Linux

LinuxBeginner
Pratiquer maintenant

Introduction

Les utilisateurs Linux expérimentés ne mémorisent pas chaque commande ni chaque option. Ils savent demander au système ce qu’un nom désigne, trouver un résumé rapide de son utilisation, ouvrir la documentation complète et rechercher des informations dans les manuels par thème.

Ce laboratoire fait directement suite aux opérations de base sur les fichiers. Vous examinerez des commandes familières comme cd, ls et cp, puis vous enregistrerez de petites preuves dans /home/labex/project/command-help. À la fin, une syntaxe inconnue sera une question de documentation plutôt qu’un obstacle.

Identifier ce que désigne un nom de commande

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

Accédez à l’espace de travail du laboratoire :

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 stockés dans des fichiers. Examinez ls :

type ls

Selon la configuration du shell, la sortie peut indiquer un alias ou le chemin d’un 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 réellement :

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 ainsi que cp. Connaître le type d’une commande est utile, car les commandes internes du shell utilisent une documentation propre au shell, tandis que les programmes externes prennent généralement en charge --help et les 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 vous apprendrez à lire la notation courante d’une ligne d’utilisation.

Comme cd est une commande interne du shell, demandez sa documentation à Bash. Le terminal du laboratoire utilise Zsh, et help est une commande interne de Bash, et non une commande autonome ; invoquez donc Bash explicitement :

bash -c 'help cd'

La première ligne commence par un modèle d’utilisation similaire à 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 ; vous allez donc utiliser pour la première fois dans ce cours un pipeline de manière intentionnelle. Un tube s’écrit |. La commande située à gauche écrit sa sortie standard, et celle située à droite reçoit cette sortie comme entrée. Ici, head -n 8 conserve uniquement les huit premières lignes :

ls --help | head -n 8

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

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 chaque section suivante :

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 prouve que vous savez trouver et reconnaître les lignes d’utilisation d’une commande.

Parcourir une page de manuel

Dans cette étape, vous utiliserez le lecteur interactif man et apprendrez ce que signifient les sections des manuels.

Ouvrez la page de manuel de ls :

man ls

Le manuel s’ouvre dans un afficheur paginé, généralement less. Entraînez-vous à utiliser les touches suivantes dans le lecteur :

  • Flèche vers le bas : descendre d’une ligne ;
  • Espace : avancer d’un écran ;
  • b : revenir en arrière d’un écran ;
  • saisissez /sort, puis appuyez sur Entrée : rechercher sort vers l’avant ;
  • n : passer à la correspondance 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 utilisateur courantes ; les autres sections couvrent 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 en une 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 de mise en forme 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 vues interactive et non interactive 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, mais pas le nom de la commande.

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

apropos password | head -n 15

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

Recherchez les thèmes 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

Lorsque apropos ne trouve rien sur un système nouvellement installé, la base de données des manuels peut nécessiter l’exécution de sudo mandb. Ce laboratoire a préparé automatiquement la base de données, mais connaître cette relation facilite le dépannage de l’outil dans d’autres environnements.

Résumé

Vous avez appris une stratégie d’aide réutilisable : utilisez type ou command -V pour identifier un nom, l’aide propre au shell comme help de Bash ou --help d’un programme pour obtenir rapidement la syntaxe, man pour consulter la documentation complète et apropos lorsque vous connaissez le thème, mais pas la commande. Ces outils vous évitent de devoir mémoriser chaque option et vous préparent à examiner des commandes inconnues pendant la suite du cours.