web-dev-qa-db-fra.com

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

Je vois souvent des choses comme

lire man xyz
Pour plus d'informations, lisez xyz 's page de manuel.
voir 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 man et pages d'info?
  • Comment puis-je les trouver et les voir?
32
dessert

Qu'est-ce qu'un man page ?

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 manname__:

man mv

affiche la page de manuel de mvtant que

man -k mv

recherche dans les noms et les descriptions courtes de toutes les pages de manuel installées la chaîne mvname__. Les expressions régulières étendues POSIX sont autorisées et il s’agit d’un search , ce qui permet également de rechercher par exemple git-mv et semvername__, si vous souhaitez effectuer une recherche exacte mvname__, utilisez plutôt ^mv$.

Voir Quelle est la différence entre `man` et` man (#) `? pour en savoir plus sur les sections de page de manuel. Pour plus d'informations, consultez la page de manuel de manname __. ;)

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

Le programme par défaut pour afficher les pages de manuel est lessname__. Ce soi-disant pageur fournit une fonction de recherche utile. Il vous suffit de saisir / suivi du terme recherché, par exemple.

/--version

et appuyez sur Enter. Cela marquera chaque résultat et passera au premier. presse N aller à la prochaine découverte et ⇧ Shift+N pour aller à la précédente (voir Comment chercher dans une page de manuel? ). Pour une liste de commandes, appuyez sur H, pour quitter lessappuyez sur Q.

À côté de lessname__, il y a d'autres pagers disponibles: pgname__, mostet w3m, pour en énumérer trois. Je recommande mostname__: Il contient une coloration très utile des mots clés, ce qui rend une page de manuel beaucoup plus facile à lire et à naviguer, voyez vous-même:

most screenshot displaying mv's manpage

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

man -P most mv

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

  • change le pager par défaut uniquement de manname__

    export MANPAGER=most
    

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

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

    Sudo update-alternatives --config pager
    

Les fans peuvent même (ab) utiliser vimcomme MANPAGERname__, voir cet article écrit par mur .

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

Un moyen simple et agréable d’afficher des pages de manuel avec une interface graphique simple est le programme préinstallé Yelpname__. Pour démarrer une page de manuel avec Yelpname__, exécutez Yelp man:PROGRAM ou 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 mv in firefoxname__:

man -Hfirefox mv

Enfin et surtout, vous pouvez convertir les pages de manuel en PDF et les afficher. avec votre _ spectateur préféréPDF, voir: Existe-t-il un moyen d’imprimer des pages d’information/man 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 la page de manuel de mvname __ pour latest Ubuntu, vous pouvez choisir une version différente dans la barre du haut. Pour rechercher des pages de manuel, vous pouvez utiliser, par exemple, http://manpages.ubuntu.com/cgi-bin/search.py?q=mv .

Comme expliqué ci-dessus, manne peut afficher que les pages de manuel des logiciels installés sur le système. Pour afficher les pages de manuel de http://manpages.ubuntu.com à l’aide d’un téléavertisseur terminal, dmanest disponible dans le package bikeshedname__.

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 option --version 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 vient avec une coloration syntaxique utile, mais il ne contient que la dernière version publiée du programme
  • manpag.es héberge les pages de manuel de Ubuntu, sorties depuis longtemps, EOL

La source n'est pas déjà liée: https://wiki.ubuntuusers.de/man/

43
dessert

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

enter image description here

13
Qwertie

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

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 man et info dépend de la politique des personnes qui gèrent le programme [package] concerné.

Voir ce lien pour plus de détails,

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

12
sudodus

Qu'est-ce que la commande helpname__?

helpaffiche des informations utiles sur les bashcommandes intégrées. Il fournit une aide pour les commandes bash Shell uniquement. Vous pouvez utiliser typepour déterminer si une commande est intégrée, par exemple. type echo vs. type rm.

On l'appelle avec un motif en argument:

help if

affiche la page d'aide pour la commande ifname__. Si vous ne vous intéressez qu'à la syntaxe d'une commande, utilisez l'option -s, si vous souhaitez que helpproduise une sortie au format manname__, utilisez -m. Pour visualiser facilement les longs textes d’aide, vous pouvez diriger la sortie vers votre pageur préféré (voir la section "Comment puis-je influencer" de cette réponse ):

help -m if | less

Comparaison avec manet infoname__

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 normal (voir Pourquoi y a-t-il un/bin/echo et pourquoi voudrais-je l'utiliser? ), dans ce cas, la page de manuel contient généralement une note indiquant cela.

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

l'option d'un programme -h et/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, --help ou -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Si les deux options -h et --help existent, elles sont souvent équivalentes, mais vous obtenez parfois "plus d'aide" avec --help, -H, --longhelp, --help-all ou des commandes similaires. Ce comportement est documenté dans la page manname __/infodu programme.

Il y a généralement plus d'informations via manet infoname__, mais il existe parfois des informations exclusives via -h. Exécuter et comparer la sortie de

man lsblk

et

lsblk -h

Certains programmes tels que dfname__, taret rsyncutilisent l'option -h pour autre chose. Ceci est décrit dans la page manname __/infode chaque programme.

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

lsblk -h | less
11
sudodus

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

Lorsque vous avez une certaine expérience de Linux, les options man pages, info pages et 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 tutorials,

  • 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 des chaînes de recherche lorsque vous utilisez le moteur de recherche de votre navigateur Web, par exemple

    • 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-uns des liens que vous avez trouvés et commencez à travailler avec un tutoriel qui correspond à vos besoins.

  • man rsync est suffisamment détaillé pour que je puisse l'utiliser comme didacticiel, mais vous voudrez peut-être plus de détails (et rechercher un didacticiel via Internet).
  • info ddrescue a un bon tutoriel intégré.
6
sudodus

tldroid: Une application Android qui donne des infos rapides sur une commande Linux/unix/mac

https://play.google.com/store/apps/details?id=io.github.hidroh.tldroid

3
Raghavendra V

Mon préféré est commandlinefu.com , a une fonction dans votre .bashrc ou .zshrc comme ceci

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, tu peux l'appeler comme tu veux

enter image description here

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 ici, les utilisateurs ont la possibilité d’invoquer des commandes, etc. Ensuite, il affiche les meilleurs résultats comme dans l'image.

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

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

Voici un tutoriel .

Faisons fu cron

enter image description here

2
Lynob

Découvrez comment ouvrir une fenêtre de terminal et exécutez 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 de poulet et d'oeufs à résoudre. La commande man vous aide à lire le manuel de chaque commande du système. Mais la sortie man utilise une autre commande appelée more. Vous pouvez également lire man more pour apprendre d'autres commandes de navigation 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.

1
Douglas Held

Beaucoup ont déjà mentionné man. Une petite fonctionnalité intéressante pour man que peu de personnes connaissent est

man -t $ (manpage)> 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 bien plus agréable que la version par défaut du terminal en ligne de commande de 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.

0
Oleg Lobachev