Reacties
Antwoord
Besteed aandacht aan het sectienummer: Stel dat u hulp wilt op printf
. er zijn er minstens twee: in shell en in C. De bash-versie van printf staat in sectie 1, de C-versie in sectie 3 of 3C. Als je niet weet welke je wilt, typ dan man -a printf
, en alle man-paginas worden weergegeven.
Als wat je zoekt het formaat is van printf met alle% codes en het verschijnt niet op de printf man-pagina, je kunt naar gerelateerde man-paginas springen die staan vermeld onder ZIE OOK paragraaf. Misschien vind je zoiets als formats(5)
, wat je suggereert man 5 formats
te typen.
Als je geïrriteerd bent dat man printf
geeft je printf (1) en alles wat je wilt is printf (3), je moet de volgorde van de gescande mappen veranderen in de MANPATH
omgeving variabele en plaats die voor C-taal vóór die voor shell-opdrachten. Dit kan ook gebeuren wanneer Fortran- of TCL / Tk-manpaginas vóór C-paginas worden vermeld.
Als u niet weet waar u moet beginnen, typ dan man intro
, of man -s <section> intro
. Dit geeft je een samenvatting van de commandos van de gevraagde sectie.
Secties zijn goed gedefinieerd:
- 1 is voor shell commandos,
- 2 is voor systeemoproepen,
- 3 is voor programmeerinterfaces (soms 3C voor C, 3F voor Fortran …)
- 5 is voor bestandsindelingen en andere regels zoals printf- of regex-indelingen.
Last but not least: informatie die wordt geleverd in man-paginas is niet overbodig, dus lees zorgvuldig van begin tot eind om uw kansen te vergroten om wat je nodig hebt.
Reacties
- Op de meeste systemen kun je
man man
bekijken om een volledige beschrijving van de verschillende secties. - Het zou cool zijn als er een programma was om een pagina te doorzoeken met een « sleutelwoorden ». Dat wil zeggen dat ik recentl y kon ' de naam van de c-functie niet onthouden om een substring te vinden (de
strstr()
) , en Ik had geen internet om me heen. - @ Hi-Angel
man -k substring
ofapropos substring
zou je hebben geholpen.
Answer
Typ slash /
en typ vervolgens de string naar zoeken naar. Blijf vervolgens op n
drukken om naar het volgende item te gaan.
Reacties
- shift + n om naar vorige wedstrijd. Zo nuttig!
Antwoord
man -k zoeken
Dit geeft je een lijst van alle man-paginas die betrekking hebben op “zoeken”.
Opmerkingen
- En om alle man-paginas weer te geven die betrekking hebben op ' zoeken ' in specifieke sectie (bijvoorbeeld nummer 3) zou je dit kunnen gebruiken:
man -k search -s 3
Ook genoemd in superuser.com/a/677969/ 599957 - Ik weet dat opmerkingen zoals deze worden afgekeurd, maar bedankt, bedankt, bedankt! Ik ben al langer op zoek naar een commando als dit dan ik ' zou moeten toegeven … jaren !!
-
apropos search
is gelijk aanman -k search
🙂
Antwoord
Zoals @Steven D zegt, “vergeet de info
paginas niet.
Bovendien” laat je niet intimideren door de info
paginas. Ik ken genoeg mensen die de infopaginas niet gebruiken vanwege het ingebouwde navigatiesysteem. Mijn favoriete oplossing is om de infopaginas door less
te leiden:
info gpg |less
Op deze manier kan ik door de info
paginas navigeren met mijn favoriete pager. De info
paginas gedragen zich nu hetzelfde als man
paginas.
Opmerkingen
- hey, dat ' een goede tip is over de navigatie
Antwoord
De apropos
hulpprogramma is erg handig om de juiste manpage te vinden.
Reacties
-
man -k
= =apropos
, isn ' t het? -
apropos
is wat ik de hele tijd gebruik als ik zoek naar iets dat geen man-pagina voor zichzelf heeft. - ' man man ' zegt dat ' man -k ' equivalent is aan ' apropos -r '. Ik denk dat apropos iets krachtiger is. Ik gebruik meestal ' man -k ' omdat het ' iets korter is.
Answer
De standaardpager voor het lezen van een manpage is less
. Er is documentatie over less
hier .
In het bijzonder:
- Een pagina omhoog / omlaag scrollen: b / spatie
- Een halve pagina omhoog / omlaag scrollen: u / d
- Vooruit / achteruit zoeken: / / ? , typ dan een reguliere expressie,
- druk dan op n om naar de volgende wedstrijd te gaan of
- shift + N om naar de vorige wedstrijd.
- Als de pagina bedekt is met oninteressante overeenkomsten, druk dan op spatie om naar de volgende pagina te gaan.
- Voeg een @ toe vóór de reguliere expressie om vanaf het begin te zoeken.
Opmerkingen
- DIT is het beste antwoord. Extra punten voor het gebruik van kbd-symbolen. 😉
- Een pagina omhoog / omlaag scrollen kan ook met
ctrl+space
/f
, wat mogelijk handig, afhankelijk van welke vingers u het liefst gebruikt voor navigatie.
Antwoord
Kijk altijd wat er in de sectie ZIE OOK. De opdrachten die onder deze sectie op de pagina info
worden weergegeven, kunnen worden geselecteerd door de cursor op de gewenste opdracht te plaatsen en vervolgens op de Enter-toets te drukken. Vaak vind ik andere handige opdrachten of functies die manier.
Antwoord
Als u meer vertrouwd bent met uw editor dan met de standaardpager, kunt u MANPAGER
in uw omgeving. Ik heb bijvoorbeeld deze regel in mijn ~/.bashrc
:
export MANPAGER="col -b | vim -c "set ft=man nomod nolist ignorecase" -"
Antwoord
Ik neem aan dat het een goed idee is om de meeste pager te gebruiken. Deze pager is erg krachtig, maar het belangrijkste kenmerk voor mij – het weergeven van gekleurde man-paginas. Deze functie verbetert de perceptie van platte tekst en vereenvoudigt het zoeken naar benodigde informatie.
Kijk naar de bijgevoegde schermafbeelding, de tekst ziet er erg mooi uit, is het niet?
Opmerkingen
- Je hebt de belangrijkste informatie weggelaten: hoe gebruik ik
most
om manpages te bekijken. - @ACK_stoverflow – waarschijnlijk geen goed idee om de man aan te bevelen
> ~/.bashrc
te doen omdat het zal overschrijven wat ' s daar al in. Het is beter om toe te voegen (>>
) of de limoen handmatig toe te voegen naar mijn mening. - @vatsug Wauw goede oproep, hier is wat mijn opmerking zou moeten hebben zei: Installeer het en probeer het:
aptitude install most; export MANPAGER="most"; man man
. Om het permanent te maken:echo 'export MANPAGER="most"' >> ~/.bashrc
Antwoord
Negeer de info
paginas niet. Veel GNU-tools hebben veel uitgebreidere info-paginas dan man-paginas. Vaak staat in de sectie ZIE OOK “De volledige documentatie voor foo wordt bijgehouden als een Texinfo-handleiding.” Dit geldt in het bijzonder voor alles in het GNU coreutils-pakket.
Als je een emacs-gebruiker bent, vergeet dan niet dat je info en man-paginas kunt lezen zonder je editor te verlaten: M-x info
en M-x woman
.
Antwoord
In Linux man
, u kunt man -K string
(let op de hoofdletter K) doen om met brute kracht naar een bepaalde term te zoeken
-K, --global-apropos Search for text in all manual pages. This is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the --regex option is used.
erg handig als je niet weet waar je moet zoeken.
Antwoord
Van Kristof antwoord, als je (ie) man -k chmod
typt, krijg je een lijst met mogelijkheden.Let op het nummer tussen haakjes, dit betekent de sectie waarnaar moet worden gezocht in de man-paginas:
Op UNIX kunt u proberen:
man -s1 chmod
het toont de man-pagina voor het chmod-commando
man -s2 chmod
het toont de man-pagina voor de C lib-functie chmod ()
Op Linux moet je -s
wijzigen voor -S
Commentaren
- man 1 chmod man 2 chmod doet hetzelfde.
Answer
Voor degenen die langer zijn, meer complexe man-paginas Ik vind het veel gemakkelijker om ze weg van een computer te lezen (vreemd, ik weet het) en daarom heb ik deze functies in mijn .bashrc
# Print man pages manp() { man -t "$@" | lpr -pPrinter; } # Create pdf of man page - requires ghostscript and mimeinfo manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \ xdg-open /tmp/manpdf_$1.pdf ;}
Answer
Bekijk man-paginas in een gebruiksvriendelijke grafische applicatie:
konqueror man:(command)
Voor de inhoudsopgave op het hoogste niveau:
konqueror man:
Functies:
- Als u een commando t hat heeft een match in meerdere secties, het brengt je naar een ondubbelzinnige pagina
- Het is een grafische applicatie, dus je hoeft geen cryptische sleutelsequenties te onthouden om door de pagina te navigeren
- Het bevat hyperlinks naar gerelateerde paginas (inclusief “zie ook” -paginas).
- U kunt gerelateerde paginas openen in afzonderlijke tabbladen
Opmerkingen
- Dit werkt trouwens ook met
info:(command)
. Sommige programmas bieden veel meer informatie via " info " dan via " man ", en konqueror biedt een veel mooiere interface om door deze infopaginas te bladeren. Opmerking: alleen het gebruik vaninfo:
werkt ook om een inhoudsopgave op het hoogste niveau te krijgen. - Een soortgelijk effect kan worden bereikt met de
gman
pakket dat een manpage-webserver tot stand brengt op localhost / cgi-bin / man / man2html . - Alternatieven op AskUbuntu: askubuntu.com/questions/253705/…
- …
yelp
is een lichtere drop-in vervanging voorkonqueror
– hoewel het de tekortkoming heeft dat het geen inhoudsopgave of een ondubbelzinnige pagina voor namen presenteert gebruikt in meerdere secties. U moet deze expliciet onderscheiden door.(section)
toe te voegen, bijv.yelp man:open.2
. U kunt ook < kbd > Ctrl-L < / kbd > om de locatiebalk te openen.
Antwoord
Dayum, mensen! Wat is er met de ingewikkelde antwoorden ?! Wat is er gebeurd met eenvoud als de sleutel tot genialiteit en wat niet? De meeste van je vi / vim-toetsen zullen vlot werken:
/
of ?
– Zoek vooruit of achteruit (zoals sommige jongens al hebben vermeld). In het eerste geval zal een kleine n voorwaarts door de overeenkomsten scrollen, een hoofdletter N zal achteruit gaan. Het tegenovergestelde geldt voor het laatste: het vraagteken.
Iets complexere zoekopdrachten via reguliere expressies. Het verschil tussen man
(of less
) en VIM is dat je het escape () -teken moet gebruiken om metatekens in je uitdrukking te declareren wanneer je de laatste gebruikt. Het goede nieuws is dat wanneer je de eerste (man
of less
) -niet zo veel. U kunt dit dus gemakkelijk gebruiken bij het zoeken naar bijvoorbeeld een iptables
man-pagina voor meerdere termen, zoals: . Als u niet bekend bent met reguliere expressies, betekent dit “Zoek naar woorden iptables
OF rules
“. Nadat je dit hebt ingevoerd en op n blijft drukken, scrol je door de afwisselende resultaten van de zoekopdracht, waarbij de resultaten mooi voor je worden gemarkeerd met verschillende kleuren (eigenlijk twee. Haha). Als je door de pagina probeert te bladeren en je wilt concentreren op specifieke termen of concepten, dan mis je geen enkel ding!
En natuurlijk, voor snellere navigatie, je normale vi
standbies staan nog steeds (geen woordspeling bedoeld): gg
of G
– begin / einde van document; (Correctie ! In man
kun je alle onderstaande toetsen gebruiken zonder Ctrl te gebruiken. Dat is alleen voor vi
). Ctrl + u or d
– Scroll omhoog of omlaag; Ctrl + b or f
– Hetzelfde, alleen met grotere stappen. “Pagina achteruit of vooruit”; e
of y
– scrol op een enkele regel, maar ik denk dat de meeste mensen liever alleen de pijltjestoetsen gebruiken. Als je echter “1337” wilt blijven en “nooit de thuisrij wilt verlaten” (zoals ik lol doe), dan is dit de juiste keuze.
Wat ik probeer te zeggen is dat UNIX twee soorten toetsenbordprogrammabesturingen heeft, die beide deel uitmaken van de readline
-bibliotheek: vi en emacs. Verhoog uw karbonades in een van beide (maar bij voorkeur in beide) en het zal uw leven een stuk minder ingewikkeld maken. De meeste CLI-programmas in UNIX gebruiken een van beide. BASH
gebruikt standaard emacs-besturingselementen, maar het kan eenvoudig worden ingesteld op “vi-modus” door set -o vi
te typen. Hetzelfde kan gezegd worden voor reguliere expressies, maar dat zal “ver buiten het onderwerp vallen. Ik” zou zelfs zo ver gaan om te zeggen dat beide de “lingua franca” van UNIX zijn.
Antwoord
Lijkt op maar verschilt enigszins van het antwoord van Rob Hoelz,
Voeg het volgende toe aan je ~/.vimrc
:
let $GROFF_NO_SGR=1 runtime ftplugin/man.vim
Nu is vimman
een uitstekende manpage-viewer, en :Man
vanuit Vim (of door gewoon K
over een trefwoord) is een uitstekende manpage-browser.
Antwoord
De meesten van ons stellen de variabele PATH in. Dit zal je laten zien hoe je automatisch het zoekpad van de man kunt laten overeenkomen met je commando zoek PATH.
Stel dat je je pad om uw persoonlijke, werkspecifieke en lokaal geïnstalleerde hulpprogrammas op te nemen, zoals export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Als neveneffect: man foo
zal “niet” de manpages tonen die zijn opgeslagen in ~ / man, / workgroup / man of / opt / local / man.
Om op te lossen hiervoor gebruik ik het manpath
commando om automatisch het zoekpad van de manpage in te stellen. Mijn ~ / .bashrc heeft bijvoorbeeld het volgende. Dit werkt voor mij op honderd verschillende systemen waarop alles draait van FreeBSD 4.x, Darwin en CentOS 5:
### PATH & MANPATH # My personal utilities export PATH=$PATH:$HOME/bin ### Set the manpath based on the PATH, after man(1) parses man.conf # - No need to modify man.conf or manually modify MANPATH_MAP # - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/ # See "SEARCH PATH FOR MANUAL PAGES" in man(1) # Just set the man search path. Don"t print output to screeen. manpath >/dev/null
Sommige systemen (zoals Apple Leopard) stellen de MANPATH automatisch in, maar dat betekent dat uw systeem de MANPATH-variabele in plaats van manpath
te gebruiken. Als gevolg hiervan worden man-paginas voor “MacPorts” (/ opt / local / man) genegeerd. Ik wil dit zelf beheren, dus ik zet MANPATH:
unset MANPATH manpath >/dev/null
Antwoord
Als u op zoek bent naar informatie over een bash
ingebouwd (zoals time
, disown
, set
, of [[
), in plaats van door de gedetailleerde bash
informatiepagina of man bash
te ploeteren, kun je en krijg snel elementaire syntaxisinformatie.
Antwoord
Als je geïrriteerd bent dat man printf je printf ( 1) en alles wat je wilt is printf (3), je kunt man vertellen dat je de printf uit sectie 3 wilt door de sectie voor printf te plaatsen, zoals: man 3 printf
, zonder te hoeven veranderen de volgorde van gescande mappen in de MANPATH-omgevingsvariabele en plaats die voor C-taal vóór die voor shell-commandos.
Answer
Ik gebruik alleen grep
. Als ik me zou afvragen wat de -s
optie van het read
commando deed, dan zou ik deze commandos op volgorde proberen totdat ik een antwoord kreeg :
info read |grep \\-s man read |grep \\-s help read |grep \\-s
In dit geval gaf alleen het info
commando een duidelijk antwoord. Dit uitstekende antwoord geeft de details over de verschillende helpsystemen.
Antwoord
man -a printf
staat standaard op man 1
op mijn Linux Mint-machine. whatis printf
geeft me de relevante informatie.
Answer
Als je het moeilijk vindt om de manpages te lezen omdat ze allemaal witgekleurde tekst zijn, kun je ze inkleuren. De meeste manpages openen met less
. Voor less
, ik gebruik de volgende kleurinstellingen in .bashrc
van hier :
man() { LESS_TERMCAP_md=$"\e[01;31m" \red LESS_TERMCAP_me=$"\e[0m" \ LESS_TERMCAP_se=$"\e[0m" \ LESS_TERMCAP_so=$"\e[01;44;33m" \yellow on blue LESS_TERMCAP_ue=$"\e[0m" \ LESS_TERMCAP_us=$"\e[01;32m" \green command man "$@" }
Dit is voor bash en zsh. Voor most
, fish
, xterm
en rxvt
zie de link hierboven.
Voor meer informatie:
Answer
Om efficiënt te zoeken naar wisseling van één teken, bijvoorbeeld -u
, kunt u vaak gebruiken:
/^ *-u($|\s)
Bespaart veel tijd als veel opties “-u” als prefix hebben.
Opmerkingen
- Deze regex zou ook handig zijn:
/-u($|[,\s])
als het optieteken omkaderd wordt door een komma. Maar als u alle vermeldingen van het optieteken ' u ' wilt zien (zoals-u]
in[--udp|-u]
vannetstat
handleiding) heb je ' zoiets nodig:/-u($|[^a-z])
En alsvi
ofvim
wordt gebruikt als pager:/-u\($\|[^a-z]\)
Antwoord
De apropos ( 1) commando wordt gebruikt voor het zoeken naar man-paginas. De meeste implementaties van apropos (1) zoeken echter gewoon in de sectie NAAM, wat erg beperkend is.
NetBSD heeft een volledige tekstzoekimplementatie van apropos (1), die in staat is om de volledige inhoud van man-paginas te doorzoeken. Er is ook een webgebaseerde interface voor: man-k.org , die u kunt uitproberen.
Antwoord
En voor die mensen die graag man- en info-paginas op een touchscreen lezen, kun je man / info naar yad of zenity leiden en gebruik maken van alle gtk3-goodies zoals native finger rol. Werkt ook prima met refular-scherm en muis:
man cat |yad --text-info
Je kunt ook zenity gebruiken of je kunt yad-opties toevoegen zoals:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Tip: door show uri kunt u met muis / vinger op weblinks in man-paginas klikken.
man --help
/man -h
en zijn meer complete broer of zusman man
heeft zoek- en navigatietips.man -P'less +/pattern' bash