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

92

En cherchant 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 sur. Alors j'ai couru man xargset obtenir le résultat suivant:

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" est intimidante pour les nouveaux utilisateurs. Cela ressemble littéralement à du charabia par rapport à man locateou man free.

Jusqu'à présent, je comprends que les crochets désignent des options et les crochets imbriqués des options facultatives. 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 afin de comprendre les commandes compliquées. Je souhaite arrêter de faire des blogs Web indexés par Google et de l'aide personnelle d'autrui ma première approche d'apprentissage des commandes Linux.

utilisateur1717828
la source
17
Continuez à lire la page de manuel. La section "OPTIONS" décrit toutes les options disponibles dans la section "SYNOPSIS".
John
7
commencer parman man
mikeserv
14
Plus souvent qu'autrement, allez directement au bas de la page et recherchez une section d'exemples.
Teppic
9
Et ne vous contentez pas de scanner la page de manuel à la recherche de mots-clés. Vraiment le lire! Les comportements supposés étranges sont souvent bien expliqués.
FloHimself
6
après avoir man manlu man intro.
mikeserv le

Réponses:

102

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

Le manpager

Lorsque vous ouvrez un manpage en utilisant la mancommande, la sortie sera affiché / rendu par les lessou morecommandes, ou toute autre commande qui sera défini comme téléavertisseur (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-la dans la 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.

Sous FreeBSD et OpenBSD, il ne s’agit que d’éditer la MANPAGERvariable d’environnement car ils l’utiliseront principalement more, et certaines fonctionnalités telles que la recherche et la mise en surbrillance du texte risquent de manquer.

Il y a une bonne réponse à la question de quelles différences more, lesset mostont ici (jamais utilisé most). La possibilité de faire défiler en arrière et en avant par page avec Spaceou dans les deux sens par ligne avec ou (également, en utilisant les viliaisons jet k) est essentielle lors de la navigation dans les pages de manuel. Appuyez sur hpendant l'utilisation lesspour voir le résumé des commandes disponibles.

Et c'est pourquoi je vous suggère d'utiliser lesscomme téléavertisseur homme. lessavoir quelques fonctionnalités essentielles qui seront utilisées lors de cette réponse.

Comment une commande est-elle formatée?

Conventions relatives aux utilitaires : spécifications de base d'Open Group, version 7 - Norme IEEE 1003.1, édition 2013. Vous devriez visiter ce lien avant d'essayer de comprendre une page de manuel. Cette référence en ligne décrit la syntaxe des arguments des utilitaires standard et présente la terminologie utilisée tout au long de POSIX.1-2017 pour décrire les arguments traités par les utilitaires. Cela vous informera aussi indirectement sur le sens réel des mots tels que paramètres, arguments, option d'argument ...

Le chef de toute page de manuel vous semblera moins crypté après avoir compris la notation des conventions d’utilité:

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

Pensez à ce que vous voulez faire.

Lorsque vous avez fait votre recherche, xargsvous l'avez fait pour un pur plaisir, n'est-ce pas? Vous aviez un besoin spécifique qui consistait à lire la sortie standard et à exécuter des commandes en fonction de cette sortie.

Mais quand je ne sais pas quelle commande je veux?

Utilisez man -kou 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 correspondra le 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 aproposlisez la description et découvrez ce qu’il -rfait), et sur cet exemple, nous recherchons toutes les pages de manuel où la description commence par "report".

Pour rechercher des informations liées à la lecture du traitement standard des entrées / sorties et atteindre xargscomme option possible:

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

Toujours lire le DESCRIPTIONavant de commencer

Prenez un moment et lisez la description. En lisant simplement la description de la xargscommande, nous apprendrons que:

  • xargslit à partir de STDIN et exécute la commande nécessaire. Cela signifie également que vous aurez besoin de connaissances sur le fonctionnement de l'entrée standard et sur la manière de la manipuler via des canaux pour chaîner des commandes.
  • Le comportement par défaut est d'agir comme /bin/echo. Cela vous donne un petit conseil: si vous devez en 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 nouvelles lignes, que cela pourrait être un problème et que l'argument -0est un moyen d'éviter que les choses n'explosent en utilisant des séparateurs de caractères nuls. La description vous avertit que la commande utilisée en tant qu'entrée doit également prendre en charge cette fonctionnalité, et que GNU la prend en findcharge. Génial. Nous utilisons beaucoup de trouver avec xargs.
  • xargs s’arrêtera si le statut de sortie 255 est atteint.

Certaines descriptions sont très courtes et c’est généralement dû au fait 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 avec find. Il y a une tonne d'options et si vous ne regardez que le SYNOPSIS, vous serez submergé par celles-ci. C'est juste la pointe de l'iceberg. En excluant NAME, SYNOPSISet DESCRIPTION, vous aurez les sections suivantes:

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

  • BUGS: liste les défauts connus. Pourrait être que des limitations de mise en œuvre.

  • ENVIRONMENT: Aspects de votre shell pouvant être affectés par la commande ou variables à utiliser.

  • EXAMPLESou NOTES: explicite.

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

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

  • SEE ALSOAutres commandes, outils ou aspects de travail liés à cette commande et ne pouvant figurer dans 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

Je prendrai findcomme exemple les étapes suivantes , car ses concepts sont "plus simples" que ceux xargsà expliquer (une commande trouve des fichiers et l’autre traite de l’exécution stdin et en pipeline de la sortie de la commande). Supposons simplement que nous ne savons rien (ou très peu) à propos de cette commande.

J'ai un problème spécifique: je dois rechercher chaque fichier avec l' .jpgextension et avec 500 Ko (KiB = 1024 octets, communément appelé kibibyte), ou de taille supérieure dans un dossier de serveur ftp.

Tout d' abord, ouvrir le manuel: man find. Le SYNOPSISest mince. Cherchons des choses à l'intérieur du manuel: Tapez /plus le mot que vous voulez ( size). Il indexera un grand nombre d'entrées -sizequi 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-le et cherchons 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 montre -size +100Mqu’il trouvera des fichiers de 100 Mo ou plus. Comment pourrais-je confirmer? Aller à la tête de la page de manuel et chercher d’autres mots.

Encore une fois, essayons le mot greater. En appuyant sur gnous 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 a confirmé ce que nous soupçonnions. Cependant, cela ne s'appliquera pas uniquement à la taille des fichiers. Cela s'appliquera à tout ce nqui peut être trouvé sur cette page de manuel (comme le dit la phrase: "Les arguments numériques peuvent être spécifiés comme").

Bien. Trouvons un moyen de filtrer par nom: g /insensitive. Pourquoi? Insensible? Wtf? Nous avons un serveur ftp hypothétique, où les gens « que d' autres systèmes d' exploitation » pourrait donner un nom de fichier avec des extensions comme .jpg, .JPG, .JpG. Cela nous mènera à:

-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é, lnamevous verrez que cela ne cherchera que des liens symboliques. Nous voulons de vrais fichiers. La prochaine entrée:

   -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 le sujet -namepour voir que -inamecette version de cet argument ne tient pas compte de la casse. Assemblons la commande:

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

Ce qui est implicite ici: savoir que le caractère générique ?représente "n’importe quel caractère à une position unique" et *représente "zéro ou plus de tout caractère". Le -nameparamètre vous donnera un résumé de cette connaissance.

Conseils applicables à toutes les commandes

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

  • Généralement, -vsignifie verbeux. -vvvest une variation "très très verbeuse" sur certains logiciels.
  • Suivant le standard POSIX, il est généralement possible d’empiler un seul tiret. Exemple: tar -xzvf, cp -Rv.
  • Généralement -Ret / ou -rsignifie récursif.
  • Presque toutes les commandes ont une aide brève avec l' --helpoption.
  • --version montre la version d'un logiciel.
  • -p, sur copier ou déplacer des utilitaires signifie "préserver les autorisations".
  • -y signifie OUI ou "procéder sans confirmation" dans la plupart des cas.

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

Valeurs par défaut des commandes.

À la partie pager de cette réponse, nous avons vu que less -isc’est le pager de man. Le comportement par défaut des commandes ne s'affiche pas toujours dans une section distincte des pages de manuel ou dans la section la mieux placée.

Vous devrez lire les options pour connaître les valeurs par défaut ou, si vous avez de la chance, taper /pagervous mènera à cette information. Cela nécessite également que vous connaissiez le concept du pageur (un logiciel qui fait défiler la page de manuel), ce que vous ne pourrez acquérir qu’après de nombreuses pages de manuel.

Pourquoi est-ce important? Cela ouvrira votre perception si vous trouvez des différences de comportement de défilement et de couleur lors de la lecture man(1)sous Linux ( less -ispager) ou FreeBSD man(1)par exemple.

Et que dire de la SYNOPSISsyntaxe?

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 effectuer votre travail. Vue d'ensemble des concepts:

  • Les options sont les commutateurs qui dictent un comportement de commande. " Faites ceci " " ne faites pas ceci " ou " agissez de cette façon ". Souvent appelé des commutateurs.
  • Les arguments d'option sont utilisés dans la plupart des cas lorsqu'une option n'est pas binaire (on / off) comme -tsur mount, spécifiant le type d'un système de fichiers ( -t iso9660, -t ext2). " Faites ceci les yeux fermés " ou " nourrissez les animaux, mais uniquement les lions ". Aussi appelé arguments.
  • Les opérandes sont des choses sur lesquelles vous souhaitez que cette commande agisse. Si vous utilisez cat file.txt, l’opérande est un fichier dans votre répertoire actuel et son contenu s’affiche STDOUT. lsest une commande où un opérande est optionnel. Les trois points après l'opérande vous indiquent implicitement que vous catpouvez 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 qu'il utilisera. Exemple:cat [OPTION] [FILE]...

Trucs synopsis connexes:

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

  • Pages de manuel sans exemples
  • Pages de manuel où les options ont une courte explication
  • Lorsque vous utilisez des mots clés génériques comme and, to, à l' forintérieur des pages de manuel
  • Pages de manuel non installées. Cela semble évident, mais si vous n’avez pas lftpinstallé (et ses pages de manuel), vous ne pouvez pas savoir qu’il s’agit d’une option appropriée en tant que client FTP sophistiqué en exécutant:man -k ftp

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

Autre: Langages de programmation et ses modules:

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

Vous devrez trouver ces pages de manuel spécifiques en utilisant man -kou 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 normale ...

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 bien, la fonction à l' help()intérieur du shell python 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 wtfcommande peut vous aider avec les acronymes et fonctionne comme whatissi aucun acronyme n'était trouvé sur sa base de données, mais ce que vous recherchez fait partie de la base de données man. Sur Debian, cette commande fait partie du bsdgamespaquet. 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

la source
Vous pouvez aussi faire man find | grep .... J'aimeman command | sed -n '/^[[:space:]]*-/,/^$/p'
mikeserv
6
Ouaip. Vous pouvez. Je pensais juste que l'opérateur est "noob" et j'essayais de me lancer dans les pages de manuel :)
3
Cette réponse doit être le premier résultat de "Comment utiliser efficacement man?" Merci et bien fait.
user1717828
8
@nwildner, vous méritez un bonbon après une réponse aussi vaste et bien formulée. Bon travail!
Willian Paixao
6
Je pense que cela devrait être ajouté à Linux. En tant que manpage bien sûr.
myaut
38

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 à vous rafraîchir la mémoire. Afin de comprendre le fonctionnement de la commande, vous devez lire la page de manuel. En particulier 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, il est inutile si vous ne savez pas déjà utiliser la commande en question. Par exemple man dd:

   dd [OPERAND]...
   dd OPTION

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

terdon
la source
Merci pour vos conseils, en particulier le paragraphe "Quant à comment ...".
user1717828
21

Quelques bases pour comprendre le synopsis

  • chacun [foo]représente un argument ou un paramètre optionnel.
  • lorsque la [foo [ bar ] ]syntaxe est utilisée, vous pouvez utiliser foo et ajouter bar.
  • Les paramètres d'option obligatoires sont utilisés de cette manière [ -S size ], ce qui indique que l'argument -S attend une taille obligatoire.

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

veux dire

  • la commande est foo
  • paramètre optionnel -Speut être utilisé, vous devez le dire size(nom donnez-lui un indice)
  • argument obligatoire est filename(cela vous donne un indice aussi, voir man mkdir)
  • elipsis ...vous disent que vous pouvez utiliser plusieurs fichiers.

Vous devez toujours aller en profondeur dans la page de manuel pour comprendre l'option (dans l'exemple ci-dessus, de quoi -S sizes'agit-il)

Archemar
la source
14

manles pages sont normalement affichées avec de lessnos jours. Cela permet de chercher à travers eux. Je ne voudrais pas m'embêter avec le synopsis, surtout pas parce que vous avez une ligne de commande particulière que vous voulez comprendre.

Appuyez sur /et commencez à taper -I, puis Enter. Le premier hit sera dans le synopsis, le second (utiliser npour suivant) vous donnera l'explication détaillée pour -I.

Anthon
la source
11

Un élément clé à retenir est que vous ne pouvez pas consulter le manuel d'une seule 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 sur non seulement xargsmais aussi bashet [(cela peut être dans la testpage de manuel). Vous aurez peut-être également besoin d'informations sur votre shell (probablement aussi bash) pour les règles de citation, car votre commande inclut une chaîne entre guillemets complexe. 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 rencontrerez un fichier avec des espaces dans le nom); l'intérieur "{}"devrait probablement être '{}'.

Alors d' abord vous référer à la page de manuel et xargs voir [-I replace-str]pour ce que -I {}signifie, et [command [initial-arguments]]pour ce qui bashet tout après cela signifie. Ensuite, vous vous référez à la bashpage de manuel pour savoir quoi -c, etc.

Au hasard832
la source
6

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

1) Si vous êtes intéressé par un utilitaire GNU, en particulier ceux comme sedet grep, parfois, l’utilisation de la infocommande affichera une version considérablement plus étendue des informations de la commande. sed, par exemple, contient 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 rappeler les 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 en sortir. (Et bien trop d’entre eux n’ont pas d’exemples d’utilisation ou ne sont que triviaux.)

Quand je dois apprendre quelque chose de nouveau, même une petite caractéristique d'une commande qui n'est pas clair pour moi, je vais sur le web et recherche en utilisant les meilleurs mots - clés que je peux penser (par exemple Linux xargs) et ajouter le mot howto, examplesou tutorial. C'est très souvent très productif.

J'utilise habituellement duckduckgo parce que cela maintient ma vie privée, mais si j'ai besoin de davantage de contrôle sur mes recherches, j'utilise Google, car je peux l'indiquer simplement pour effectuer une recherche sur un site Web ou pour ne renvoyer que les résultats de l'année précédente. (Il a beaucoup d'autres options de recherche avancée. Vous pouvez les 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 chargez ce fichier dans une autre fenêtre de mon éditeur de texte afin que je puisse alterner, copier / coller, etc. Je fais en général lire le fichier en lecture seule, je ne finis donc pas par le modifier par accident, mais comme c'est mon copie personnelle, je pourrais la modifier comme je le voulais, en ajoutant des balises pour pouvoir 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.

Joe
la source
4

Pour obtenir une aide rapide avec votre commande spécifique, vous pouvez utiliser Explain Shell . Par exemple votre commande . Une fois que vous avez compris pour la première fois comment cela fonctionne, passez à la page de manuel, comme le recommandent d’autres réponses.

AvImd
la source
2

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

  1. cheataffichera l'option fréquemment utilisée pour une ligne de commande. Vous pouvez aussi ajouter votre propre objet command + optionà afficher cheatpour une commande spécifique.
  2. bropagesoutil fournit quelques exemples pour une ligne de commande, il est possible d’ajouter votre propre exemple ou d’augmenter / augmenter le nombre de votes après l’obtention du code de vérification bro thanks. La commande doit voter va apparaître en haut de la bropage.
GAD3R
la source
1

Je suggère tldrun outil complet semblable à l'homme. Pages de manuel simplifiées et axées sur la communauté. Dans Ubuntu, vous pouvez l'installer via un composant logiciel enfichable, mais il existe également des versions pour d'autres distributions. Il vous fournit également plusieurs exemples d'utilisations courantes. 100% recommandé.

José Castillo Lema
la source
0

> Je cherche de l’aide pour interpréter une page de manuel afin de comprendre les commandes complexes.

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 en redirigeant par exemple le stdout d’une commande (ici, locate) vers le stdin d’un autre (ici, xargs) via un tube ( |). Par conséquent, comme Random832 l'a dit correctement, vous ne trouverez pas une seule page de manuel expliquant le fonctionnement de votre exemple de commande.

Je vous recommande de lire un guide de script pour le shell Linux; le Guide Bash-script avancé est un excellent document. S'il vous plaît ne soyez pas intimidé par cela; La maîtrise de Linux nécessite des années et est un processus sans fin, mais vous pouvez apprendre les bases en un temps 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, Commandlinefu et Bash One-Liners valent également la peine d'être lus pour obtenir de bons exemples.

dr01
la source
-1

Pour rechercher quelque chose de particulier dans les commandes d'une page de manuel, vous pouvez utiliser:

man echo | grep output.

Mais pour rechercher des commutateurs (par exemple -n), vous devez l’utiliser de la manière suivante:

man echo | grep -- -n
subtilitaire
la source