web-dev-qa-db-fra.com

Comment utiliser les pages de manuel pour apprendre à utiliser les commandes?

Lors de la recherche d'un autre problème, je suis tombé sur une commande ,

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

que je voulais en savoir plus. J'ai donc couru man xargs et obtenez la sortie suivante:

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

J'essaie de mieux utiliser la documentation pour en savoir plus sur les programmes Linux, mais cette section "Synopsis" intimide les nouveaux utilisateurs. Il ressemble littéralement à du charabia par rapport à man locate ou man free.

Jusqu'à présent, je comprends que les crochets signifient facultatif et les crochets imbriqués signifient les options en option. Mais comment suis-je censé induire une commande valide avec ça?

Je ne demande pas d'aide avec xargs ici. Je cherche de l'aide pour interpréter une page de manuel pour comprendre des commandes compliquées. Je veux arrêter de faire des blogs Web indexés par Google et de l'aide personnelle des autres ma première approche de l'apprentissage des commandes Linux.

93
user1717828

Eh bien, c'est ma façon très personnelle de lire les pages de manuel:

Le manpager

Lorsque vous ouvrez une page de manuel à l'aide de la commande man, la sortie sera affichée/rendue par les commandes less ou more, ou toute autre commande qui sera définie comme votre pager (manpager).

Si vous utilisez Linux, vous êtes probablement servi avec votre infrastructure man déjà configurée pour utiliser /usr/bin/less -is (Sauf si vous avez installé une distribution minimale) comme man(1) , expliquez Section Options:

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

Sur FreeBSD et OpenBSD, il suffit de modifier la variable d'environnement MANPAGER car ils utiliseront principalement more, et certaines fonctionnalités comme la recherche et la mise en évidence du texte pourraient être manquantes.

Il existe une bonne réponse à la question de savoir quelles différences more, less et most ont ici (jamais utilisé most) . La possibilité de faire défiler vers l'arrière et faire défiler vers l'avant par page avec Space ou dans les deux sens par ligne avec  ou (également, en utilisant les liaisons vi j et k) est essentiel lors de la navigation dans les pages de manuel. presse h en utilisant less pour voir le résumé des commandes disponibles.

Et c'est pourquoi je vous suggère d'utiliser less comme pager pour vous. less possède quelques fonctionnalités essentielles qui seront utilisées lors de cette réponse.

Comment une commande est-elle formatée?

Conventions utilitaires : The Open Group Base Specifications Issue 7 - IEEE Std 1003.1, 2013 Edition. Vous devriez visiter ce lien avant d'essayer de comprendre une page de manuel. Cette référence en ligne décrit la syntaxe d'argument des utilitaires standard et présente la terminologie utilisée dans POSIX.1-2017 pour décrire les arguments traités par les utilitaires. Cela vous informera également indirectement de la véritable signification des mots comme les paramètres, les arguments, l'option d'argument ...

La tête de n'importe quelle page de manuel vous semblera moins cryptique après avoir compris la notation des conventions utilitaires:

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

Gardez à l'esprit ce que vous voulez faire.

Lorsque vous faites vos recherches sur xargs vous l'avez fait pour un purpouse, non? Vous aviez un besoin spécifique de lire la sortie standard et d'exécuter des commandes basées sur cette sortie.

Mais, quand je ne sais pas quelle commande je veux?

Utilisez man -k Ou apropos (ils sont équivalents). Si je ne sais pas comment trouver un fichier: man -k file | grep search. Lisez les descriptions et trouvez-en une qui répondra mieux à vos besoins. Exemple:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

Apropos fonctionne avec les expressions régulières par défaut, (man apropos, Lisez la description et découvrez ce que fait -r), Et sur cet exemple, je recherche chaque page de manuel où la description commence par "rapport ".

Pour rechercher des informations relatives à la lecture du traitement d'entrée/sortie standard et à l'accès à xargs comme option possible:

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

Lisez toujours le DESCRIPTION avant de commencer

Prenez le temps de lire la description. En lisant simplement la description de la commande xargs, nous apprendrons que:

  • xargs lit à partir de STDIN et exécute la commande nécessaire. Cela signifie également que vous aurez besoin d'avoir une certaine connaissance du fonctionnement de l'entrée standard et de la façon de la manipuler via des canaux pour chaîner des commandes.
  • Le comportement par défaut consiste à agir comme /bin/echo. Cela vous donne un petit conseil: si vous devez chaîner plusieurs xargs, vous n'avez pas besoin d'utiliser l'écho pour imprimer.
  • Nous avons également appris que les noms de fichiers unix peuvent contenir des blancs et des sauts de ligne, que cela pourrait être un problème et l'argument -0 Est un moyen d'empêcher les choses d'exploser en utilisant des séparateurs de caractères nuls. La description vous avertit que la commande utilisée en entrée doit également prendre en charge cette fonctionnalité et que GNU find la prend en charge. Génial. Nous utilisons beaucoup de find avec xargs.
  • xargs s'arrêtera si l'état de sortie 255 est atteint.

Certaines descriptions sont très courtes et c'est généralement parce que le logiciel fonctionne de manière très simple. Ne pensez même pas à sauter cette partie de la page de manuel ;)

Autres choses à faire attention ...

Vous savez que vous pouvez rechercher des fichiers à l'aide de find. Il y a une tonne d'options et si vous ne regardez que le SYNOPSIS, vous serez submergé par celles-ci. Ce n'est que la pointe de l'iceberg. À l'exception de NAME, SYNOPSIS et DESCRIPTION, vous aurez les sections suivantes:

  • AUTHORS: les personnes qui ont créé ou aidé à la création de la commande.

  • BUGS: répertorie tous les défauts connus. Il peut s'agir uniquement de limitations d'implémentation.

  • ENVIRONMENT: Aspects de votre Shell qui pourraient être affectés par la commande, ou variables qui seront utilisées.

  • EXAMPLES ou NOTES: S'explique.

  • REPORTING BUGS: Qui vous devrez contacter si vous trouvez des bogues sur cet outil ou dans sa documentation.

  • COPYRIGHT: Personne qui a créé et renonce au logiciel. Tous liés à la licence du logiciel lui-même.

  • SEE ALSO: Autres commandes, outils ou aspects fonctionnels liés à cette commande, et ne pouvant tenir sur aucune des autres sections.

Vous trouverez très probablement des informations intéressantes sur les aspects que vous souhaitez d'un outil dans la section exemples/notes.

Exemple

Dans les étapes suivantes, je prendrai find comme exemple, car ses concepts sont "plus simples" que xargs pour expliquer (une commande recherche des fichiers et l'autre traite de l'exécution stdin et en pipeline de autre sortie de commande). Disons simplement que nous ne savons rien (ou très peu) à propos de cette commande.

J'ai un problème spécifique qui est: je dois rechercher chaque fichier avec l'extension .jpg, Et avec 500 Ko (Kio = 1024 octets, communément appelé kibibyte), ou plus en taille dans un dossier de serveur ftp.

Tout d'abord, ouvrez le manuel: man find. Le SYNOPSIS est mince. Cherchons des choses dans le manuel: Tapez / plus le mot que vous voulez (size). Il indexera un grand nombre d'entrées -size Qui compteront des tailles spécifiques. Est resté coincé. Je ne sais pas comment chercher avec "plus que" ou "moins que" une taille donnée, et l'homme ne me le montre pas.

Essayons et recherchons la prochaine entrée trouvée en appuyant sur n. D'ACCORD. Trouvé quelque chose d'intéressant: find\( -size +100M -fprintf /root/big.txt %-10s %p\n \). Peut-être que cet exemple nous montre qu'avec -size +100M Il trouvera des fichiers de 100 Mo ou plus. Comment pourrais-je confirmer? Aller en tête de la page de manuel et chercher d'autres mots.

Encore une fois, essayons le mot greater. Pressage g nous mènera à la tête de la page de manuel. /greater, et la première entrée est:

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

Super. Il semble que ce bloc du manuel ait confirmé ce que nous soupçonnions. Cependant, cela ne s'applique pas uniquement aux tailles de fichier. Il s'appliquera à tout n qui peut être trouvé sur cette page de manuel (comme le disait la phrase: "Les arguments numériques peuvent être spécifiés comme").

Bien. Laissez-nous trouver un moyen de filtrer par nom: g/insensitive. Pourquoi? Insensible? Wtf? Nous avons un serveur ftp hypothétique, où "les autres OS" pourraient donner un nom de fichier avec des extensions comme .jpg, .JPG, .JpG. Cela nous conduira à:

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

Cependant, après avoir recherché lname, vous verrez que cela ne recherchera que les liens symboliques. Nous voulons de vrais fichiers. L'entrée suivante:

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the Shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the Shell will expand any wildcard characters in them.

Génial. Je n'ai même pas besoin de lire sur -name Pour voir que -iname Est la version insensible à la casse de cet argument. Permet d'assembler la commande:

Commande: find /ftp/dir/ -size +500k -iname "*.jpg"

Ce qui est implicite ici: La connaissance que le caractère générique ? Représente "n'importe quel caractère à une seule position" et * Représente "zéro ou plus de n'importe quel caractère". Le paramètre -name Vous donnera un résumé de cette connaissance.

Conseils qui s'appliquent à toutes les commandes

Certaines options, mnémoniques et "style de syntaxe" parcourent toutes les commandes, vous faisant gagner du temps sans avoir à ouvrir la page de manuel du tout. Ceux-ci sont appris par la pratique et les plus courants sont:

  • En général, -v Signifie verbeux. -vvv Est une variante "très très verbeuse" de certains logiciels.
  • Suivant la norme POSIX, généralement un seul tiret peut être empilé. Exemple: tar -xzvf, cp -Rv.
  • Généralement, -R Et/ou -r Signifie récursif.
  • Presque toutes les commandes ont une brève aide avec l'option --help.
  • --version Affiche la version d'un logiciel.
  • -p, Lorsque vous copiez ou déplacez des utilitaires signifie "conserver les autorisations".
  • -y Signifie OUI, ou "procéder sans confirmation" dans la plupart des cas.

Notez que ce qui précède n'est pas toujours vrai cependant. Par exemple, le commutateur -r Peut signifier choses très différentes pour différents logiciels. C'est toujours une bonne idée de vérifier et de s'assurer qu'une commande peut être dangereuse, mais ce sont des valeurs par défaut courantes.

Valeurs par défaut des commandes.

Au niveau du pager de cette réponse, nous avons vu que less -is Est le pager de man. Le comportement par défaut des commandes n'est pas toujours affiché dans une section séparée sur les pages de manuel, ou dans la section la plus en haut.

Vous devrez lire les options pour connaître les valeurs par défaut, ou si vous êtes chanceux, en tapant /pager vous mènera à cette information. Cela vous oblige également à connaître le concept du pager (logiciel qui fait défiler la page de manuel), et c'est une chose que vous n'acquérirez qu'après avoir lu beaucoup de pages de manuel.

Pourquoi est-ce important? Cela ouvrira votre perception si vous trouvez des différences sur le comportement du défilement et des couleurs lors de la lecture man(1) sur Linux (pager less -is) Ou FreeBSD man(1) par exemple.

Et qu'en est-il de la syntaxe SYNOPSIS?

Après avoir obtenu toutes les informations nécessaires à l'exécution de la commande, vous pouvez combiner des options, des arguments d'option et des opérandes en ligne pour faire votre travail. Aperçu des concepts:

  • Les options sont les commutateurs qui dictent le comportement d'une commande. " Faites ceci" " ne faites pas ça" ou " agissez de cette façon". Souvent appelés commutateurs.
  • Les arguments d'option sont utilisés dans la plupart des cas où une option n'est pas binaire (marche/arrêt) comme -t Au montage, qui spécifie le type d'un système de fichiers (-t iso9660, -t ext2). " Faites cela les yeux fermés" ou " nourrissez les animaux, mais seulement les lions". Aussi appelé arguments.
  • Les opérandes sont des éléments sur lesquels vous souhaitez que cette commande agisse. Si vous utilisez cat file.txt, L'opérande est un fichier dans votre répertoire courant, et son contenu sera affiché sur STDOUT. ls est une commande où un opérande est facultatif. Les trois points après l'opérande vous indiquent implicitement que cat peut agir sur plusieurs opérandes (fichiers) en même temps. Vous remarquerez peut-être que certaines commandes ont défini le type d'opérande à utiliser. Exemple: cat [OPTION] [FILE]...

Trucs de synopsis associés:

Quand cette méthode ne fonctionnera-t-elle pas?

  • Pages de manuel sans exemples
  • Pages de manuel où les options ont une brève explication
  • Lorsque vous utilisez des mots clés génériques comme and, to, for dans les pages de manuel
  • Pages de manuel non installées. Cela semble évident, mais si vous n'avez pas installé lftp (et ses pages de manuel), vous ne pouvez pas savoir que c'est une option appropriée en tant que client ftp plus sophistiqué en exécutant man -k ftp

Dans certains cas, les exemples seront assez simples, et vous devrez effectuer certaines exécutions de votre commande pour le tester, ou dans le pire des cas, le faire sur Google.

Autre: Langages de programmation et ses modules:

Si vous programmez ou créez simplement des scripts, gardez à l'esprit que certaines langues ont leurs propres systèmes de pages de manuel, comme Perl (perldocs), python (pydocs), etc. des informations spécifiques sur les méthodes/fonctions, les variables, le comportement et d'autres informations importantes sur le module que vous essayez d'utiliser et d'apprendre. Cela m'a été utile lorsque je créais un script pour télécharger des e-mails IMAP non lus à l'aide du module Perl Mail::IMAPClient .

Vous devrez trouver ces pages de manuel spécifiques en utilisant man -k Ou en recherchant en ligne. Exemples:

[root@Host ~]# man -k doc | grep Perl
perldoc              (1)  - Look up Perl documentation in Pod format


[root@Host ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... des tonnes d'autres choses ici, avec des sections comme une page de manuel régulière ...

Avec python:

[root@Host ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

Ou, la fonction help() inside python Shell si vous voulez lire plus de détails sur un objet:

nwildner@Host:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

Bonus: La commande wtf peut vous aider avec les acronymes et elle fonctionne comme whatis si aucun acronyme sur sa base de données n'est trouvé, mais ce que vous recherchez fait partie de la base de données man. Sur Debian, cette commande fait partie du paquet bsdgames . Exemples:

nwildner@Host:~$ wtf rtfm
RTFM: read the fine/fucking manual
nwildner@Host:~$ wtf afaik
AFAIK: as far as I know
nwildner@Host:~$ wtf afak
Gee...  I don't know what afak means...
nwildner@Host:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
nwildner@Host:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager
103
user34720

Ceci est assez bien expliqué dans man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

Quant à la façon dont vous êtes censé écrire une commande valide à partir de cela, eh bien, vous ne l'êtes pas. Le synopsis est utile une fois que vous savez comment fonctionne une commande. Cela peut vous aider à rafraîchir votre mémoire. Afin de comprendre le fonctionnement de la commande, vous devez lire la page de manuel. Surtout les descriptions des options et la section des exemples.

Parfois, le synopsis suffit. Par exemple, dans man ls:

SYNOPSIS
       ls [OPTION]... [FILE]...

D'autres fois, cela ne sert à rien sauf si vous savez déjà comment utiliser la commande en question. Par exemple, man dd:

   dd [OPERAND]...
   dd OPTION

Donc, en conclusion, ne vous inquiétez pas si vous n'obtenez pas le synopsis. C'est normal. Lisez la page de manuel elle-même.

38
terdon

Quelques notions de base pour comprendre le synopsis

  • chaque [foo] représente un argument ou un paramètre facultatif.
  • quand [foo [ bar ] ] la syntaxe est utilisée, vous pouvez utiliser foo et vous pouvez ajouter une barre.
  • les paramètres d'option obligatoires sont utilisés de cette façon [ -S size ], qui indique que l'argument -S attend une taille obligatoire.

Par exemple : foo [-S size ] filename ...

veux dire

  • la commande est foo
  • paramètre facultatif -S peut être utilisé, vous devez dire size (le nom vous donne un indice)
  • l'argument obligatoire est filename (cela vous donne également un indice, voir man mkdir)
  • elipsis ... vous indique que vous pouvez utiliser plusieurs fichiers.

Vous devez toujours aller dans la profondeur de la page de manuel pour comprendre l'option (dans mon exemple ci-dessus, ce que -S size est à propos )

21
Archemar

man les pages sont normalement affichées avec less de nos jours. Cela permet de les parcourir. Je ne m'embêterais pas avec le synopsis, surtout pas parce que vous avez une ligne de commande particulière que vous voulez comprendre.

Frappez le / et commencez à taper -I et alors Enter. Le premier hit sera dans le synopsis, le second (utilisez n pour la suite) vous donne l'explication détaillée de -I.

14
Anthon

Une chose clé à retenir est que vous ne pouvez pas seulement regarder le manuel d'une commande, dans le cas de commandes qui exécutent d'autres commandes.

Pour votre exemple de commande

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

Vous avez besoin d'informations non seulement sur xargs mais aussi sur bash et [ (cela peut être dans la page de manuel test). Vous pouvez également avoir besoin d'informations sur votre shell (probablement aussi bash) pour les règles de citation, car votre commande comprend une chaîne complexe entre guillemets. Je peux déjà vous dire que l'argument cité est faux (et faux d'une manière qui n'apparaîtra que lorsque vous rencontrez un fichier avec des espaces dans le nom); l'intérieur "{}" devrait probablement être '{}'.

Donc, vous devez d'abord vous référer à la page de manuel xargs et voir [-I replace-str] pour quoi -I {} signifie et [command [initial-arguments]] pour ce que bash et tout ce que cela signifie. Vous feriez alors référence à la page de manuel bash pour savoir ce que -c le fait, etc.

11
Random832

Ajoutant aux bonnes réponses déjà données:

1) Si vous êtes intéressé par un utilitaire gnu, en particulier ceux comme sed et grep, parfois, l'utilisation de la commande info fera apparaître une version considérablement développée de la commande information. sed, par exemple, a une section détaillée sur la façon d'écrire des expressions régulières et une autre section avec des exemples d'utilisation très complexes.

2) C'est un "manuel". Un manuel est principalement conçu pour vous aider à vous souvenir des détails de quelque chose que vous comprenez déjà. Il est conçu pour que vous puissiez obtenir rapidement les détails dont vous avez besoin et sortir. (Et beaucoup trop n'ont pas d'exemples d'utilisation ou seulement des exemples triviaux.)

Lorsque j'ai besoin d'apprendre quelque chose de nouveau, même une petite fonctionnalité d'une commande qui ne m'est pas claire, je vais sur le Web et je recherche en utilisant les meilleurs mots clés auxquels je peux penser (par exemple Linuxxargs) et ajoutez le mot howto, examples ou tutorial. C'est très souvent très productif.

J'utilise habituellement duckduckgo car il préserve ma confidentialité, mais si j'ai besoin de plus de contrôle sur mes recherches, j'utilise Google parce que je peux lui dire de rechercher uniquement sur un site Web ou de ne renvoyer que les résultats de l'année dernière. (Il possède de nombreuses autres options de recherche avancée. Vous pouvez les rechercher sur Google.;))

Un autre conseil:

Pour les commandes que je référence souvent, j'enregistre la page de manuel dans un fichier texte

man bash > bashman.txt

et charger ce fichier dans une autre fenêtre de mon éditeur de texte afin que je puisse basculer d'avant en arrière, copier et coller, etc. Je fais généralement le fichier en lecture seule, donc je ne finis pas par le malmener par accident, mais puisque c'est mon copie personnelle, je pourrais l'éditer comme je le souhaite, en ajoutant des balises pour que je puisse trouver une section plus facilement ou même en ajoutant mes propres notes ou exemples.

Le seul inconvénient est que la page de manuel d'origine peut être mise à jour et que ma copie est statique.

6
Joe

Pour obtenir une aide rapide avec votre commande spécifique, vous pouvez utiliser Explain Shell . Par exemple. votre commande . Après avoir obtenu la première compréhension de haut niveau de la façon dont cela fonctionne, vous devez continuer avec les pages de manuel comme le recommandent les autres réponses.

4
AvImd

Il existe deux outils utiles pour en savoir plus sur les commandes Linux:

  1. cheat affichera l'option fréquemment utilisée pour une ligne de commande. Vous pouvez également ajouter votre propre command + option à afficher via cheat pour une commande spécifique.
  2. bropages l'outil fournit un exemple pour une ligne de commande, il est possible d'ajouter votre propre exemple ou de voter en amont/en aval pour l'exemple donné après avoir obtenu le code de vérification via bro thanks. La commande doit voter apparaîtra en haut de la page bro.
2
GAD3R

Je suggère tldr pour un outil complet semblable à l'homme. Pages de manuel simplifiées et axées sur la communauté. Dans Ubuntu, vous pouvez l'installer via snap, mais il a également des versions pour d'autres distributions. Il vous fournit également plusieurs exemples d'utilisation courants. 100% recommandé.

1

> Je recherche de l'aide pour interpréter une page de manuel afin de comprendre des commandes compliquées.

Je pense que c'est le malentendu ici. Ce qui rend Linux/UNIX si puissant, c'est que vous pouvez construire des commandes très longues et efficaces par ex. rediriger la sortie standard d'une commande (ici, locate) vers la stdin d'une autre (ici, xargs) via un tube (|). Par conséquent, comme Random832 l'a correctement dit, vous ne trouverez pas une seule page de manuel qui explique ce que fait votre exemple de commande.

Je vous recommande de lire un guide de scriptage Linux Shell; le Advanced Bash-Scripting Guide est un excellent document. Je vous en prie, ne vous laissez pas intimider; maîtriser Linux nécessite des années et est un processus sans fin, mais vous pouvez apprendre les bases dans un délai raisonnable.

Reportez-vous ensuite aux pages de manuel lorsque vous avez besoin de connaître les détails d'une commande spécifique.

Une fois que vous en avez l'essentiel, Commandlinef et Bash One-Liners valent également la peine d'être lus pour obtenir de bons exemples.

0
dr_