Kommentarer
Svar
Vær oppmerksom på seksjonsnummeret: Anta at du vil ha hjelp på printf
. det er minst to av dem: i skall og i C. Den bash-versjonen av printf er i seksjon 1, C-versjonen er i seksjon 3 eller 3C. Hvis du ikke vet hvilken du vil ha, skriv man -a printf
, så vises alle manuelle sider.
Hvis det du leter etter er formatet til printf med alle% koder og det vises ikke på printf man side, kan du hoppe til relaterte man sider oppført under SE OGSÅ avsnitt. Du kan finne noe sånt som formats(5)
, som foreslår at du skriver man 5 formats
.
Hvis du er irritert over at man printf
gir deg printf (1) og alt du vil ha er printf (3), du må endre rekkefølgen på skannede kataloger i MANPATH
miljøet variabel og sett de for C-språket foran de for skallkommandoer. Dette kan også skje når Fortran- eller TCL / Tk-mansidene er oppført før C-sidene.
Hvis du ikke vet hvor du skal begynne, skriv man intro
, eller man -s <section> intro
. Dette gir deg et sammendrag av kommandoer for ønsket del.
Seksjoner er veldefinerte:
- 1 er for skall kommandoer,
- 2 er for systemanrop,
- 3 er for programmering av grensesnitt (noen ganger er 3C for C, 3F for Fortran …)
- 5 er for filformater og andre regler som printf- eller regex-formater.
Sist men ikke minst: informasjon levert på man-sider er ikke overflødig, så les nøye fra begynnelse til slutt for å øke sjansene dine for å finne hva du trenger.
Kommentarer
- På de fleste systemer kan du sjekke ut
man man
for å se en fullstendig beskrivelse av de forskjellige seksjonene. - Det ville vært kult hvis det var et program for å søke på sider med et « nøkkelord ». dvs. jeg nylig y kunne ikke ' ikke huske navnet på c-funksjonen for å finne en understreng (
strstr()
) , og Jeg hadde ikke noe internett rundt meg. - @ Hi-Angel
man -k substring
ellerapropos substring
ville ha hjulpet deg.
Svar
Skriv skråstrek /
og skriv deretter strengen til søk etter. Fortsett å trykke n
for å komme til neste element
Kommentarer
- shift + n for å gå til forrige kamp. Så nyttig!
Svar
man -k search
Dette vil gi deg en liste over alle mansider som er relatert til «search».
Kommentarer
- Og for å liste alle mansider som er relatert til ' søk ' i spesifikk seksjon (for eksempel nummer 3) kan man bruke dette:
man -k search -s 3
Også nevnt i superbruker.com/a/677969/ 599957 - Jeg vet at kommentarer som dette på er mislikt, men takk, takk, takk! Jeg har bokstavelig talt lett etter en kommando som denne lenger enn jeg ' jeg bryr meg om å innrømme … år !!
-
apropos search
tilsvarerman -k search
🙂
Svar
Som @Steven D sier, ikke glem info
-sidene.
I tillegg må du ikke la deg skremme av info
sider. Jeg kjenner mange mennesker som ikke bruker infosidene på grunn av det innebygde navigasjonssystemet. Min favorittløsning er å rense infosidene gjennom less
:
info gpg |less
På denne måten kan jeg navigere på info
-sidene ved hjelp av favorittpersonen min. info
sider vil nå oppføre seg som man
sider.
Kommentarer
- hei, at ' er et flott tips om navigering
Svar
apropos
verktøyet er veldig nyttig for å finne riktig manpage.
Kommentarer
-
man -k
= =apropos
, er ikke ' t det? -
apropos
er det jeg bruker hele tiden når jeg leter etter noe som ikke har manside for seg selv. - ' mann mann ' sier at ' man -k ' tilsvarer ' apropos -r '. Jeg synes apropos er litt kraftigere. Jeg bruker generelt ' man -k ' da det ' er litt kortere.
Svar
Standard personsøker for å lese en manside er less
. Det er dokumentasjon på less
her .
Spesielt:
- Bla opp / ned med én side: b / mellomrom
- Bla opp / ned med en halv side: u / d
- Søke fremover / bakover: / / ? , skriv deretter et regulært uttrykk,
- trykk så på n for å gå til neste kamp eller
- shift + N for å gå til forrige kamp.
- Hvis siden er dekket av uinteressante treff, trykker du på mellomrom for å gå til neste side.
- Legg til en @ før det vanlige uttrykket for å søke fra starten.
Kommentarer
- DETTE er det beste svaret. Ekstra poeng for bruk av kbd-symboler. 😉
- Bla opp / ned med en side kan også gjøres med
ctrl+space
/f
nyttig avhengig av hvilke fingre du foretrekker å bruke til navigering.
Svar
Sjekk alltid ut hva som er i SE OGSÅ seksjonen. Kommandoene som vises under denne delen i info
-siden kan velges ved å plassere markøren på ønsket kommando og deretter trykke på enter-tasten. Ofte finner jeg andre nyttige kommandoer eller funksjoner som måte.
Svar
Hvis du er mer komfortabel med redigeringsprogrammet enn du er med standard personsøker, kan du angi MANPAGER
i ditt miljø. For eksempel har jeg denne linjen i ~/.bashrc
:
export MANPAGER="col -b | vim -c "set ft=man nomod nolist ignorecase" -"
Svar
Jeg antar at bruk av mest personsøker er en god idé. Denne personsøkeren er veldig kraftig, men hovedfunksjonen for meg – å vise fargede mansider. Denne funksjonen forbedrer oppfatningen av ren tekst og letter søking av nødvendig informasjon.
Se på det vedlagte skjermbildet, teksten ser veldig fin ut, er det ikke?
Kommentarer
- Du har utelatt den viktigste informasjonen: hvordan bruker jeg
most
for å vise mansider. - @ACK_stoverflow – sannsynligvis ikke en god ide å anbefale fyren å gjøre
> ~/.bashrc
da det vil overskrive hva ' s der inne. Bedre å legge til (>>
) eller legge til kalk manuelt etter min mening. - @vatsug Wow good call, her is what my comment should have sa: Installer det og prøv det:
aptitude install most; export MANPAGER="most"; man man
. For å gjøre det permanent:echo 'export MANPAGER="most"' >> ~/.bashrc
Svar
Ikke ignorer info
-sidene. Mange GNU-verktøy har langt mer omfattende informasjonssider enn man-sider. Ofte vil SE OGSÅ -delen «Den fulle dokumentasjonen for foo opprettholdes som en Texinfo-manual.» Dette gjelder spesielt alt i GNU coreutils-pakken.
Hvis du er en emacs-bruker, glemmer du ikke at du kan lese info og manuelle sider uten å forlate redaktøren: M-x info
og M-x woman
.
Svar
I Linux man
, du kan gjøre man -K string
(legg merke til store bokstaver K) for å gjøre et brute force search av et gitt begrep
-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.
veldig nyttig når du ikke vet hvor du skal søke.
Svar
Fra Kristof svar, hvis du (dvs.) skriver man -k chmod
vil du få en liste over muligheter.Legg merke til tallet i parentesen, det betyr delen du skal se etter på manualsidene:
På UNIX kan du prøve:
man -s1 chmod
det viser mansiden for chmod-kommando
man -s2 chmod
den viser mansiden for C lib-funksjonen chmod ()
På Linux bør du endre -s
for -S
Kommentarer
- mann 1 chmod mann 2 chmod gjør det samme.
Svar
For de lengre, mer komplekse mansider Jeg synes det er mye lettere å lese dem vekk fra en datamaskin (rart, jeg vet) og så har jeg disse funksjonene i .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 ;}
Svar
Vis mannssider i et brukervennlig grafisk program:
konqueror man:(command)
For innholdsfortegnelsen på toppnivå:
konqueror man:
Funksjoner:
- Hvis du skriver inn en kommando t hat har en kamp i flere seksjoner, det tar deg til en tvetydighetsside
- Det er et grafisk program, så du trenger ikke å huske kryptiske nøkkelsekvenser for å navigere på siden
- Den inkluderer hyperkoblinger til relaterte sider (inkludert «se også» -sider)
- Du kan åpne relaterte sider i separate faner
Kommentarer
- Dette fungerer forresten også med
info:(command)
. Noen programmer gir mye mer informasjon via " info " enn via " mann ", og konqueror gir et mye hyggeligere grensesnitt for å bla gjennom disse infosidene. Merk: Bare å brukeinfo:
, fungerer også for å få en toppinnholdsfortegnelse. - En lignende effekt kan oppnås ved å bruke
gman
pakke som oppretter en manpage webserver på localhost / cgi-bin / man / man2html . - Alternativer på AskUbuntu: askubuntu.com/questions/253705/…
- …
yelp
er en lettvekts erstatning forkonqueror
– selv om den har mangelen på å ikke presentere en innholdsfortegnelse eller en entydig side for navn brukes i flere seksjoner. Du må skille disse eksplisitt ved å legge til.(section)
– f.eks.yelp man:open.2
. Du kan også bruke < kbd > Ctrl-L < / kbd > for å åpne posisjonslinjen.
Svar
Dayum, folkens! Hva er det med de innviklede svarene? div> eller ?
– Søk fremover eller bakover (som noen av gutta allerede har nevnt). I tilfelle førstnevnte vil en liten bokstav n bla gjennom kampene fremover, en stor bokstav N vil gå bakover. Det motsatte gjelder for sistnevnte – spørsmålstegnet.
Litt mer komplekse søk gjennom regulære uttrykk. Forskjellen mellom man
(eller less
) og VIM er at du må bruke escape () -tegnet for å erklære metategn i uttrykket ditt når du bruker sistnevnte. Den gode nyheten er at når du bruker førstnevnte (man
eller less
) -ikke så mye. Så du kan enkelt bruke dette når du søker, for eksempel en iptables
manside for flere ord slik: . Hvis du ikke er kjent med regulære uttrykk, betyr dette «Søk etter forekomster av ord iptables
ELLER rules
«. Etter å ha skrevet inn dette og fortsatt å trykke på n, vil du bla gjennom de alternerende resultatene av søket med resultatene som er pent uthevet for deg med forskjellige farger (to, faktisk. Haha). Hvis du prøver å bla gjennom siden og vil konsentrere deg om spesifikke begreper eller begreper, vil du ikke savne en eneste ting!
Og, selvfølgelig, for raskere navigering din vanlige vi
standbies står fremdeles (ingen ordspill beregnet): gg
eller G
– begynnelse / slutt på dokument; (Retting ! I man
kan du bruke alle nøklene som er nevnt nedenfor uten å bruke Ctrl. At «s bare for vi
). Ctrl + u or d
– Rull opp eller ned; Ctrl + b or f
– Samme ting, bare i større sprang. «Side bakover eller fremover»; e
eller y
– bla med en enkelt linje, men jeg tror de fleste helst bare vil bruke piltastene. Men hvis du vil være «1337» og «aldri forlate hjemmet» (som jeg gjør lol), er det veien å gå.
Det jeg prøver å si er at UNIX har to hovedsmaker av tastaturprogramkontrollene, som begge er deler av readline
biblioteket: vi og emacs. Opp karbonadene dine i en (men helst i begge), og det vil gjøre livet ditt mye mindre komplisert. De fleste av CLI-programmene i UNIX benytter en av dem. BASH
bruker emacs-kontroller som standard, men den kan enkelt settes til «vi-modus» ved å skrive set -o vi
. Det samme kan sies om vanlige uttrykk, men at det kommer til å være langt utenfor emnet. Jeg vil til og med gå så langt som å si at begge disse er «lingua franca» av UNIX.
Svar
Ligner på, men litt annerledes enn Rob Hoelz s svar,
Legg til følgende i ~/.vimrc
:
let $GROFF_NO_SGR=1 runtime ftplugin/man.vim
Nå er vimman
en utmerket visningsside for sider, og :Man
fra Vim (eller bare trykke K
over et søkeord) er en utmerket nettleser.
Svar
De fleste av oss stiller inn PATH-variabelen. Dette viser deg hvordan du automatisk får mannssøkeveien til å matche kommandosøket PATH.
Si at du legger til sti for å inkludere dine personlige, arbeidsspesifikke og lokalt installerte verktøy, som export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Som en bivirkning, vil man foo
ikke vise managsidene som er lagret på ~ / man, / arbeidsgruppe / man eller / opt / local / man.
Å løse dette bruker jeg kommandoen manpath
for automatisk å angi søkesiden for man-siden. For eksempel har min ~ / .bashrc følgende. Dette fungerer for meg på hundre forskjellige systemer som kjører alt fra FreeBSD 4.x, Darwin og 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
Noen systemer (som Apple Leopard) setter MANPATH automatisk, men det betyr at systemet ditt vil bruke MANPATH-variabelen i stedet for å bruke manpath
. Som et resultat ignoreres man-sider for «MacPorts» (/ opt / local / man). Jeg vil kontrollere dette selv, så jeg fjerner MANPATH:
unset MANPATH manpath >/dev/null
Svar
Hvis du leter etter informasjon angående en bash
innebygd (for eksempel time
, disown
, set
, eller [[
), i stedet for å slenge gjennom den detaljerte bash
infosiden eller man bash
, kan du skrive help {builtin-keyword}
og få grunnleggende syntaksinformasjon raskt.
Svar
Hvis du er irritert over at man printf gir deg printf ( 1) og alt du vil ha er printf (3), du kan fortelle mannen du vil ha printf fra seksjon 3 ved å sette seksjonen før printf, slik: man 3 printf
, uten å måtte endre rekkefølgen på skannede kataloger i MANPATH-miljøvariabelen og sett de for C-språket foran de for shell-kommandoer.
Svar
Jeg bruker bare grep
. Hvis jeg skulle lure på hva -s
-alternativet til read
-kommandoen gjorde, ville jeg prøve disse kommandoene i rekkefølge til jeg fikk svar :
info read |grep \\-s man read |grep \\-s help read |grep \\-s
I dette tilfellet ga bare info
kommandoen et klart svar. Dette utmerkede svaret gir detaljene om de forskjellige hjelpesystemene.
Svar
man -a printf
er som standard man 1
på min Linux Mint-maskin. whatis printf
gir meg relevant informasjon.
Svar
Hvis du synes det er vanskelig å lese hjemmesidene på grunn av all hvitfarget tekst, kan du fargelegge dem. De fleste mansider åpnes med less
. For less
, jeg bruker følgende fargeinnstillinger i .bashrc
fra her :
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 "$@" }
Dette er for bash og zsh. For most
, fish
, xterm
og rxvt
se lenken ovenfor.
For ytterligere lesing:
Svar
For å se effektivt etter bytte av enkelt tegn, for eksempel -u
, kan du ofte bruke:
/^ *-u($|\s)
Sparer mye tid hvis mange alternativer har «-u» som prefiks.
Kommentarer
- Denne regexen vil også være nyttig:
/-u($|[,\s])
i tilfelle alternativtegn er innrammet med komma. Men hvis du vil se alle oppføringene i alternativtegnet ' u ' (som-u]
i[--udp|-u]
avnetstat
manual) vil du ' trenger noe sånt:/-u($|[^a-z])
Og hvisvi
ellervim
brukes som personsøker:/-u\($\|[^a-z]\)
Svar
apropos ( 1) kommando brukes til å søke på mansider. Imidlertid søker de fleste implementeringer av apropos (1) bare i NAVN-delen, noe som er veldig begrensende.
NetBSD har en fulltekstsøkeimplementering av apropos (1), som er i stand til å søke på hele innholdet på man-sider. Det er også et nettbasert grensesnitt for det: man-k.org , som du kan prøve.
Svar
Og for de som liker å lese mann og infosider på en berøringsskjerm, kan du pipe mann / info til yad eller zenity og bruke alle gtk3 godbiter som innfødte bla. Fungerer også bra med refleksskjerm og mus:
man cat |yad --text-info
Du kan også bruke zenity eller du kan legge til yad-alternativer som:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Tips: ved å vise uri kan yoh klikke på lenker på mannssider med mus / finger.
man --help
/man -h
og dens mer komplette søskenman man
har søke- og navigeringstips.man -P'less +/pattern' bash