Comment puis-je obtenir de l'aide sur les commandes de terminal?

33

Je vois souvent des choses comme

read Pour plus d'informations, consultez la page de manuel de xyz . voirman xyz

info xyz

alors je me demande:

  • Comment puis-je obtenir de l'aide sur les commandes de terminal en général?
  • Que sont exactement ces pages man et info ?
  • Comment puis-je les trouver et les voir?
dessert
la source
J'aimerais aussi mentionner tldr.sh , qui vise à simplifier et à présenter les pages de manuel de manière plus efficace.
Non, ne montre pas mon vrai nom
@ Nodon'tshownmyrealname Voulez-vous écrire une réponse à propos de tldr? Vous pouvez également mentionner cheatet peut-être tricher.sh .
dessert le

Réponses:

44

Qu'est-ce qu'une page de manuel ?

Une page de manuel (abréviation de page de manuel) est la forme traditionnelle de documentation logicielle sur un système d'exploitation de type Unix tel que Ubuntu. Pour la grande majorité des commandes et des programmes, une page de manuel répertorie ses options et explique son utilisation.

Comment trouver et afficher des pages de manuel?

Hors ligne dans un terminal

Les pages de manuel sont automatiquement installées sur votre système avec les commandes qu’elles décrivent. Pour afficher et rechercher des pages de manuel, utilisez la commande suivante man:

man mv

affiche la page de manuel de mvwhile

man -k mv

recherche les noms et les descriptions courtes de toutes les pages de manuel installées pour la chaîne mv. Les expressions régulières étendues POSIX sont autorisées et il s’agit d’une recherche ; par conséquent, elles trouveront également, par exemple, git-mvet semver, si vous souhaitez effectuer une recherche exacte, mvutilisez ^mv$plutôt.

Voir Quelle est la différence entre `man` et` man (#) `? à lire sur les sections de la page de manuel. Pour plus d'informations, lisez manla page de manuel de. ;)

Comment puis-je influencer l'affichage d'une page de manuel?

Le programme par défaut pour afficher les pages de manuel est less. Ce soi-disant téléavertisseur fournit une fonction de recherche utile, il suffit de saisir /suivi du terme de recherche, par exemple

/--version

et appuyez sur Enter. Cela marquera chaque résultat et passera au premier. Appuyez sur Npour aller à la recherche suivante et sur ⇧ Shift+ Npour passer à la recherche précédente (voir Comment puis-je effectuer une recherche dans une page de manuel? ). Pour obtenir une liste des commandes, appuyez sur H, pour quitter, lessappuyez sur Q.

A côté , lessil y a d' autres téléavertisseurs disponibles: pg, mostet w3mjuste à la liste trois. Je recommande most: Il est livré avec une coloration très utile de mots clés qui font une page de manuel beaucoup plus facile à lire et à naviguer, voir par vous - même:

la plupart des captures d'écran affichant la page de manuel de mv

Pour afficher une page de manuel dans un format différent de celui de votre pageur par défaut, utilisez l’ -Poption, par exemple:

man -P most mv

Si vous souhaitez modifier les pages de manuel par défaut du pageur, deux options vous sont proposées:

  • changer le téléavertisseur par défaut uniquement man

    export MANPAGER=most
    

    Pour que la modification soit persistante, ajoutez cette commande à votre ~/.bashrcfichier.

  • changer le pager par défaut de tout votre système

    sudo update-alternatives --config pager
    

Les fans peuvent même (ab) utiliser en vimtant que MANPAGER, voir cet article écrit par muru .

Les pages de manuel sont affichées dans la police spécifiée dans les paramètres de votre émulateur de terminal. Si vous travaillez régulièrement avec le terminal, vous voudrez peut-être changer cette police. Je ne peux que recommander Hack - une police de caractères conçue pour le code source , voir la capture d'écran ci-dessus pour sa beauté.

Hors ligne via interface graphique

Le programme préinstallé est un moyen simple et agréable d’afficher des pages de manuel à l’aide d’une interface graphique simpleyelp . Pour démarrer une page de manuel avec yelpexecute yelp man:PROGRAMou gnome-help man:PROGRAM, par exemple:

yelp man:mv

Vous pouvez également afficher les pages de manuel avec votre navigateur préféré , voir Comment puis-je ouvrir des pages de manuel dans un navigateur Web? par exemple pour man mvdans firefox:

man -Hfirefox mv

Enfin, vous pouvez convertir des pages de manuel en PDF et les afficher avec votre visualiseur de PDF préféré, voir: Existe - t-il un moyen d’imprimer des pages d’information / de manuel en PDF?

En ligne

http://manpages.ubuntu.com

Vous pouvez afficher les pages de manuel des programmes disponibles via les référentiels de chaque version d'Ubuntu actuellement prise en charge avec l'URL abrégée manpg.es/PROGRAM, par exemple http://manpg.es/mv . Ceci ouvre mvla page de manuel de la dernière version d'Ubuntu. Vous pouvez choisir une version différente dans la barre du haut. Pour rechercher des pages de manuel, utilisez par exemple http://manpages.ubuntu.com/cgi-bin/search.py?q=mv .

Comme expliqué ci-dessus, manseules les pages de manuel des logiciels installés sur le système peuvent être affichées. Pour afficher les pages de manuel de http://manpages.ubuntu.com à l’ aide d’un téléavertisseur de terminal, il est dmandisponible dans le bikeshedpackage.

Autres sources

Lorsque vous lisez la documentation provenant d'autres sources en ligne, il est conseillé de garder un œil sur la version du programme. La plupart des programmes ont une --versionoption qui affiche la version du programme en question, par exemple

$ mv --version
mv (GNU coreutils) 8.25

Il y a beaucoup de sites Web qui se sont consacrés à rendre les pages de manuel facilement accessibles, je vais simplement vous présenter les deux que j'aime le plus:

  • man7.org est fourni avec une coloration syntaxique utile, mais il ne contient que la dernière version publiée du programme
  • manpag.es héberge des pages de manuel des versions d'Ubuntu EOL disparues depuis longtemps

Source non déjà liée: https://wiki.ubuntuusers.de/man/

dessert
la source
Une autre astuce utile (du moins si vous êtes programmeur) consiste à écrire un petit script pour transférer la sortie de man dans l'éditeur de texte de votre choix. Par exemple (\ n est une nouvelle ligne) #! / Bin / tcsh \ n nom de groupe = $ argv [$ # argv] \ n fichier de fichier = /tmp/man.nom.out\n / usr / bin / man $ * | col -bx> $ file \ n (chemin d'accès à votre éditeur) $ file \ n rm $ file \ n Une macro similaire mais spécifique à l'éditeur vous permettra d'appeler man à partir de l'éditeur, ce qui est très utile.
jamesqf
@ jamesqf Intéressant, pourquoi faites-vous et quand utilisez-vous cela? Comme les éditeurs sont généralement capables de lire stdin, vous pouvez le simplifier, par exemple, man $*|col -bx|nano -ou man $*|col -bx|kate -i.
dessert le
@jamesqf si vous exportez page man vers un fichier texte afin de rechercher ou de naviguer facilement, vous devriez vraiment envisager d' avoir un regard sur le « RÉSUMÉ DES MOINS ORDRES » page.It peut être ouvert en tapant « h » dans less( l' manutilisation lesscommande pour la pagination donc ça marche manaussi)
Ludovic Ronsin
@ Ludovic Ronsin: Je le fais dans mon éditeur plutôt que moins pour deux raisons. D'abord, parce que je connais les commandes de mon éditeur (qui sont bien plus puissantes que les moins de commandes) et que je n'ai pas à m'inquiéter d'apprendre un autre ensemble de commandes que je confondrais inévitablement dans différents contextes. Deuxièmement, parce que je peux relier la version de l’éditeur à une touche (Alt-m, comme il se passe) et ainsi obtenir de l’aide pour tout appel de fonction comportant une page de manuel. Pour ce qui est de savoir pourquoi je le fais comme je le fais, je l’ai écrit il ya plus de 20 ans et cela a assez bien fonctionné.
jamesqf
@jamesqf voudrait juste mettre PAGER = "vim -" do?
d33tah
13

Les bases ont déjà été abordées, mais un site Web, je pense, est très utile pour vous dire ce que fait une commande est https://explainshell.com , qui décompose une commande en plusieurs sections et montre le rôle de chaque élément.

entrez la description de l'image ici

Qwertie
la source
1
+1 Ce n'est absolument pas ce que je cherchais quand j'ai écrit ce Q & A, mais c'est une excellente ressource que je ne connaissais pas - merci beaucoup! Comme les autres réponses couvrent délibérément un sujet principal, vous pourriez peut-être élargir votre réponse aux outils en ligne en général? shellcheck.net vient à l'esprit…
dessert le
12

Qu'est-ce qu'une page d'information ?

Aux côtés de

man program-name

il y a souvent aussi

info program-name

Parfois, ce sont les mêmes (doublons), mais parfois une de ces pages contient plus d'informations. Par exemple

info ddrescue

contient plus d'informations que

man ddrescue

et

info date

contient plus d'informations que

man date

L'équilibre entre manet infodépend de la politique des personnes qui gèrent le programme en question.

Voir ce lien pour plus de détails,

unix.stackexchange.com/questions/19451/difference-between-help-info-and-man-command

sudodus
la source
11

Quelle est la helpcommande?

helpaffiche des informations utiles sur les bashcommandes intégrées. Il fournit une aide pour les commandes du shell bash uniquement. Vous pouvez utiliser typepour déterminer si une commande est un intégré, par exemple par type echorapport à type rm.

On l'appelle avec un motif en argument:

help if

affiche la page d'aide pour la ifcommande. Si vous ne vous intéressez qu'à la syntaxe d'une commande, utilisez l' -soption, si vous souhaitez helpproduire une sortie au manformat de page, utilisez -m. Pour visualiser facilement les longs textes d’aide, vous pouvez diriger la sortie vers votre pager préféré (voir la section «Comment puis-je influencer» de cette réponse ):

help -m if | less

Comparaison avec manetinfo

Vous pouvez exécuter et comparer les commandes suivantes:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

Comme dans cet exemple, certains programmes sont disponibles à la fois en tant que programme intégré et standard (voir Pourquoi y a - t-il un / bin / echo et pourquoi voudrais-je l’utiliser? ), Dans ce cas, la page de manuel contient note indiquant que.

Voir ce lien pour plus de détails: Différence entre help, info et man command · U & L

une option de programme -het / ou--help

Il existe généralement une aide intégrée aux programmes eux-mêmes, disponible via au moins une des options -h, --helpou -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Si les deux options -het --helpexistent, ils sont souvent équivalents, mais parfois vous obtenez « plus d' aide » avec --help, -H, --longhelp, --help-allou des commandes similaires. Ce comportement est documenté dans la page man/ du programme info.

Habituellement, il y a plus d'informations via manet info, mais parfois des informations exclusives via -h. Exécuter et comparer la sortie de

man lsblk

et

lsblk -h

Certains programmes comme df, taret rsyncutiliser l'option -hpour autre chose. Ceci est décrit dans la page man/ infode chaque programme.

Encore une fois, vous pouvez diriger la sortie vers votre téléavertisseur préféré, par exemple:

lsblk -h | less
sudodus
la source
Merci de mentionner --helpque c’est souvent la seule chose dont j’ai besoin avec la plupart des commandes, et toujours la première chose que j’essaie.
JPhi1618
6

Qu'est-ce qu'un tutoriel et comment puis-je en trouver un utile

Lorsque vous avez une expérience de Linux, les pages de manuel , les pages d’ informations et les options d’ aide sont très utiles. Mais au début, ils peuvent être difficiles à comprendre; vous avez besoin d’une aide plus détaillée pour commencer.

Vous pouvez trouver une aide détaillée dans des tutoriels ,

  • explication détaillée comment utiliser une commande
  • exemples

Vous trouverez généralement des didacticiels sur Internet. Il existe parfois un didacticiel utile dans la page de manuel ou la page d’informations.

  • Essayez par exemple des chaînes de recherche lorsque vous utilisez le moteur de recherche de votre navigateur Web.

    • À la recherche d'outils spécifiés

      • nano tutoriel
      • tutoriel sed
      • tutoriel imagemagick
      • tutoriel rsync
    • Recherche de tâches (et recherche de tutoriels pour divers outils)

      • tutoriel pour l'éditeur de mode texte linux
      • tutoriel de l'éditeur d'images en mode batch linux

Examinez brièvement quelques liens que vous avez trouvés et commencez à travailler avec un tutoriel qui correspond à vos besoins .

  • man rsync est assez détaillé pour que je puisse l’utiliser comme tutoriel, mais vous voudrez peut-être plus de détails (et chercher un tutoriel sur Internet).
  • info ddrescue a un bon tutoriel intégré.
sudodus
la source
Parfait, merci pour votre contribution constante - je pense que cette question deviendra une source très utile pour les débutants. J'ajouterai un index du contenu à la question et lierai les réponses pour épargner le défilement aux téléspectateurs.
Dessert
1
@dessert, c'est une bonne initiative de votre part et je suis ravi de contribuer :-)
sudodus
2

Mon préféré est commandlinefu.com , avoir une fonction dans votre .bashrcou .zshrccomme ça

cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
    | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}

Essayons cmd mount cd, j'ai appelé ma fonction cmd, vous pouvez l'appeler comme vous voulez

entrez la description de l'image ici

La fonction ci-dessus effectue une recherche sur le site Web de commandlinefu. Il s’agit d’un site Web axé sur la communauté, comme c’est le cas ici, les utilisateurs ont la possibilité d’invoquer les commandes, etc. Ensuite, il affiche les meilleurs résultats comme dans l'image.

ou il y a une nouvelle façon de le faire en utilisant cela .

http://samirahmed.github.io/fu/

Voici un tutoriel .

Faisons fu cron

entrez la description de l'image ici

Lynob
la source
1

Découvrez comment ouvrir une fenêtre de terminal et émettre la commande man man. Tapez la barre d'espace pour passer à l'écran suivant chaque fois qu'il est écrit "Plus" en bas. Vous lisez la page de manuel du programme de lecture manuelle man!

Il y a un très petit problème d'œuf et de poulet à résoudre. La mancommande vous aide à lire le manuel de chaque commande du système. Mais la mansortie utilise une autre commande appelée more. Vous pouvez également lire man morepour apprendre des commandes de navigation supplémentaires pour more.

Et c'est tout! J'ai appris tout ce que je sais sur Unix en lisant les pages de manuel de centaines de commandes.

Douglas Held
la source
3
Sur Ubuntu, manutilise lesspar défaut, pas more.
Muru
0

Beaucoup ont mandéjà mentionné . Une fonctionnalité intéressante pour manquelques-uns est au courant

man -t $ (page de manuel ) > manpage.ps

qui produit un fichier PostScript pour la page de manuel. PostScript peut être facilement converti en PDF. Cela se traduit par un formatage beaucoup plus agréable que la version par défaut du terminal en ligne de commande man.

Par exemple:

man -t man> man.ps

pstopdf man.ps

Je viens de le tester sur Ubuntu (et cela devrait fonctionner sur d'autres Linuces) et Mac OS.

Oleg Lobachev
la source