Kommentarer
Svar
Vær opmærksom på sektionsnummeret: Antag at du vil have hjælp til printf
. der er mindst to af dem: i skal og i C. Den bash-version af printf er i afsnit 1, C-versionen er i afsnit 3 eller 3C. Hvis du ikke ved, hvilken du vil have, skal du skrive man -a printf
, så vises alle manuelle sider.
Hvis det, du leder efter, er formatet på printf med alle% koder, og det vises ikke på printf mandside, kan du springe til relaterede mandsider, der er anført under SE OGSÅ afsnit. Du kan muligvis finde noget som formats(5)
, hvilket antyder, at du skriver man 5 formats
.
Hvis du er irriteret over, at man printf
giver dig printf (1) og alt hvad du vil have er printf (3), du skal ændre rækkefølgen af scannede mapper i MANPATH
miljøet variabel og sæt dem til C-sprog foran dem til shell-kommandoer. Dette kan også ske, når Fortran- eller TCL / Tk-mandsider er anført før C-sider.
Hvis du ikke ved, hvor du skal starte, skal du skrive man intro
eller man -s <section> intro
. Dette giver dig et resumé af kommandoer for det ønskede afsnit.
Sektioner er veldefinerede:
- 1 er til shell kommandoer,
- 2 er til systemopkald,
- 3 er til programmering af grænseflader (undertiden 3C til C, 3F til Fortran …)
- 5 er til filformater og andre regler såsom printf- eller regex-formater.
Sidst men ikke mindst: information leveret på man-sider er ikke overflødig, så læs omhyggeligt fra start til slut for at øge dine chancer for at finde hvad du har brug for.
Kommentarer
- På de fleste systemer kan du tjekke
man man
for at se et komplet beskrivelse af de forskellige sektioner. - Det ville være sejt, hvis der var et program til at søge på sider med et « nøgleord ». Det vil sige jeg nylig y kunne ikke ' t huske navnet på c-funktionen for at finde en understreng (
strstr()
) og Jeg havde ikke noget internet omkring mig. - @ Hi-Angel
man -k substring
ellerapropos substring
ville have hjulpet dig.
Svar
Skriv skråstreg /
og skriv derefter strengen til søge efter. Fortsæt derefter med at trykke på n
for at komme til det næste punkt
Kommentarer
- shift + n for at gå til forrige kamp. Så hjælpsomme!
Svar
mand -k search
Dette giver dig en liste over alle mandsider, der vedrører “search”.
Kommentarer
- Og for at liste alle mandsider, der vedrører ' søg ' i det specifikke afsnit (f.eks. nummer 3) kunne man bruge dette:
man -k search -s 3
Også nævnt i superbruger.com/a/677969/ 599957 - Jeg ved, at kommentarer som denne er forkert, men tak, tak, tak! Jeg har bogstaveligt talt været på udkig efter en kommando som denne i længere tid end jeg ' jeg vil gerne indrømme … år !!
-
apropos search
svarer tilman -k search
🙂
Svar
Som @Steven D siger, glem ikke info
siderne.
Desuden må du ikke skræmme af info
sider. Jeg kender mange mennesker, der ikke bruger infosiderne på grund af det indbyggede navigationssystem. Min yndlingsløsning er at føre infosiderne gennem less
:
info gpg |less
På denne måde kan jeg navigere på info
siderne ved hjælp af min foretrukne personsøger. info
sider opfører sig nu som man
sider.
Kommentarer
- hej, at ' er et godt tip om navigationen
Svar
apropos
-værktøjet er seriøst praktisk til at finde den passende manpage.
Kommentarer
-
man -k
= =apropos
, er det ikke ' t det? -
apropos
er hvad jeg bruger hele tiden, når jeg leder efter noget, der ikke har mandside for sig selv. - ' mand mand ' siger, at ' man -k ' svarer til ' apropos -r '. Jeg synes, apropos er lidt mere magtfuld. Jeg bruger generelt ' man -k ' da det ' er lidt kortere.
Svar
Standard personsøger til læsning af en mandeside er less
. Der er dokumentation på less
her .
Især:
- Rul op / ned med en side: b / mellemrum
- Rul op / ned med en halv side: u / d
- Søgning fremad / baglæns: / / ? , skriv derefter et regulært udtryk,
- og tryk derefter på n for at gå til næste kamp eller
- shift + N for at gå til forrige kamp.
- Hvis siden er dækket af uinteressante matches, skal du trykke på mellemrum for at gå til næste side.
- Tilføj en @ før det regulære udtryk for at søge fra starten.
Kommentarer
- DETTE er det bedste svar. Ekstra point til brug af kbd-symboler. 😉
- Rul op / ned med en side kan også udføres med
ctrl+space
/f
nyttigt, afhængigt af hvilke fingre du foretrækker at bruge til navigation.
Svar
Tjek altid, hvad der er i SE OGSÅ sektionen. Kommandoerne, der vises under dette afsnit i info
-siden, kan vælges ved at placere markøren på den ønskede kommando og derefter trykke på enter-tasten. Ofte finder jeg andre nyttige kommandoer eller funktioner, der måde.
Svar
Hvis du er mere fortrolig med din editor, end du er med standard personsøger, kan du indstille MANPAGER
i dit miljø. For eksempel har jeg denne linje i min ~/.bashrc
:
export MANPAGER="col -b | vim -c "set ft=man nomod nolist ignorecase" -"
Svar
Jeg antager, at det er en god idé at bruge mest personsøger. Denne personsøger er meget kraftfuld, men den vigtigste funktion for mig – visning af farvede man-sider. Denne funktion forbedrer opfattelsen af almindelig tekst og letter søgningen efter nødvendig information.
Se på det vedhæftede skærmbillede, teksten ser meget flot ud, er det ikke?
Kommentarer
- Du har udeladt de vigtigste oplysninger: hvordan bruger jeg
most
til at se mandsider. - @ACK_stoverflow – sandsynligvis ikke en god idé at anbefale fyren at gøre
> ~/.bashrc
da det overskriver hvad ' s der allerede. Bedre at tilføje (>>
) eller tilføje kalk manuelt efter min mening. - @vatsug Wow good call, her er hvad min kommentar skulle have sagde: Installer det og prøv det:
aptitude install most; export MANPAGER="most"; man man
. For at gøre det permanent:echo 'export MANPAGER="most"' >> ~/.bashrc
Svar
Don t ignorere info
siderne. Mange GNU-værktøjer har langt mere omfattende infosider end man-sider. Ofte vil sektionen SE OGSÅ “Den fulde dokumentation for foo opretholdes som en Texinfo-manual.” Dette gælder især for alt, hvad der er i GNU coreutils-pakken.
Også, hvis du er en emacs-bruger, skal du ikke glemme, at du kan læse info og manuelle sider uden at forlade din editor: “>
og M-x woman
.
Svar
I Linux man
, du kan gøre man -K string
(bemærk store bogstaver K) for at foretage en brute force-søgning af et givet udtryk
-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.
meget nyttigt, når du ikke ved, hvor du skal søge.
Svar
Fra Kristof svar, hvis du (dvs.) skriver man -k chmod
, får du en liste over muligheder.Bemærk antallet i parentesen, det betyder det afsnit, du skal kigge efter på manualsiderne:
På UNIX kan du prøve:
man -s1 chmod
det viser mandsiden til chmod-kommando
man -s2 chmod
det viser mandsiden for C lib-funktionen chmod ()
På Linux skal du ændre -s
til -S
Kommentarer
- mand 1 chmod mand 2 chmod gør det samme.
Svar
For de længere, mere komplekse mandsider Jeg finder det meget nemmere at læse dem væk fra en computer (ulige, jeg ved det), og så har jeg disse funktioner i min .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
Se mandsider i et brugervenligt grafisk program:
konqueror man:(command)
For indholdsfortegnelsen på øverste niveau:
konqueror man:
Funktioner:
- Hvis du indtaster en kommando t hat har et match i flere sektioner, det fører dig til en fortvivlende side
- Det er en grafisk applikation, så du behøver ikke huske kryptiske nøglesekvenser for at navigere på siden
- Det inkluderer hyperlinks til relaterede sider (inklusive “se også” sider)
- Du kan åbne relaterede sider i separate faner
Kommentarer
- Forresten fungerer dette også med
info:(command)
. Nogle programmer giver meget mere information via " info " end via " mand ", og konqueror giver en meget pænere grænseflade til at gennemse disse infosider. Bemærk: Bare ved hjælp afinfo:
fungerer det også til at få en indholdsfortegnelse på øverste niveau. - En lignende effekt kan opnås ved hjælp af
gman
-pakke, der opretter en manpage-webserver på localhost / cgi-bin / man / man2html . - Alternativer på AskUbuntu: askubuntu.com/questions/253705/…
- …
yelp
er en lettere udskiftning af drop-in tilkonqueror
– skønt den har manglen på ikke at præsentere en indholdsfortegnelse eller en tvetydig side for navne bruges i flere sektioner. Du skal differentiere disse eksplicit ved at tilføje.(section)
– f.eks.yelp man:open.2
. Du kan også bruge < kbd > Ctrl-L < / kbd > for at åbne placeringslinjen.
Svar
Dayum, folk! Hvad er der med de indviklede svar ?! Uanset hvad der skete med enkelhed, der er nøglen til glans og hvad ikke? De fleste af dine vi / vim-nøgler fungerer svømmende:
/
eller ?
– Søg frem eller tilbage (som nogle af fyrene allerede har nævnt). I tilfælde af førstnævnte vil en lille bogstav n rulle gennem kampe fremad, en stor N vil gå baglæns. Det modsatte gælder for sidstnævnte – spørgsmålstegnet.
Lidt mere komplekse søgninger gennem regulære udtryk. Forskellen mellem man
(eller less
) og VIM er, at du skal bruge escapetegnet () til at erklære metategn i dit udtryk, når du bruger sidstnævnte. Den gode nyhed er, at når du bruger det tidligere (man
eller less
) -ikke så meget. Så du kan let bruge dette til brug, når du f.eks. søger efter en iptables
mandeside til flere udtryk som sådan: . Hvis du ikke er bekendt med regulære udtryk, betyder det “Søg efter forekomster af ord iptables
ELLER rules
“. Når du har indtastet dette og fortsat trykker på n, ruller du gennem de skiftende resultater af søgningen, hvor resultaterne er pænt fremhævet for dig med forskellige farver (to faktisk. Haha). Hvis du prøver at løbe igennem siden og ønsker at koncentrere dig om bestemte termer eller begreber, vil du ikke gå glip af en enkelt ting!
Og selvfølgelig til hurtigere navigation din normale vi
standbies står stadig (ingen ordspil beregnet): gg
eller G
– begyndelse / slutning af dokument; (Rettelse ! I man
kan du bruge alle de nøgler, der er nævnt nedenfor uden at bruge Ctrl. Det er kun for vi
. Ctrl + u or d
– Rul op eller ned; Ctrl + b or f
– Samme ting kun i større spring. “Side baglæns eller fremad”; e
eller y
– rul ved en enkelt linje, men jeg tror, at de fleste hellere bare vil bruge piletasterne. Men hvis du vil forblive “1337” og “aldrig forlade hjemmet” (som jeg gør lol) – er det vejen at gå.
Hvad jeg prøver at sige er, at UNIX har to hovedvarianter af tastaturprogramkontrolelementer, som begge er dele af readline
-biblioteket: vi og emacs. Op din koteletter i en (men helst i begge), og det vil gøre dit liv meget mindre kompliceret. De fleste af CLI-programmerne i UNIX anvender en af dem. BASH
bruger emacs-kontroller som standard, men det kan let indstilles til “vi-tilstand” ved at skrive set -o vi
. Det samme kan siges om regulære udtryk, men at “det bliver langt fra emnet. Jeg ville endda gå så langt som at sige, at begge disse er” lingua franca “for UNIX.
Svar
Svarende til men lidt anderledes end Rob Hoelz s svar,
Tilføj følgende i dit ~/.vimrc
:
let $GROFF_NO_SGR=1 runtime ftplugin/man.vim
Nu vimman
er en fremragende manpage-seer, og :Man
indefra Vim (eller blot trykke K
over et nøgleord) er en fremragende manpages browser.
Svar
De fleste af os indstiller PATH-variablen. Dette viser dig, hvordan man automatisk får mandssøgningsstien til at matche din kommandosøgning PATH.
Sig, at du tilføjer din sti til at inkludere dine personlige, arbejdsspecifikke og lokalt installerede værktøjer, som export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Som en bivirkning vil man foo
ikke vise de manpages, der er gemt på ~ / man, / workgroup / man eller / opt / local / man.
For at løse dette bruger jeg kommandoen manpath
til automatisk at indstille mandsidesøgningsstien. For eksempel har min ~ / .bashrc følgende. Dette fungerer for mig på hundrede forskellige systemer, der kø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
Nogle systemer (som Apple Leopard) indstiller MANPATH automatisk, men det betyder, at dit system vil bruge MANPATH-variablen i stedet for at bruge manpath
. Som et resultat ignoreres man-sider til “MacPorts” (/ opt / local / man). Jeg vil selv kontrollere dette, så jeg frakobler MANPATH:
unset MANPATH manpath >/dev/null
Svar
Hvis du leder efter oplysninger om en bash
indbygget (såsom time
, disown
, set
eller [[
), i stedet for at slog igennem den detaljerede bash
infoside eller man bash
, kan du indtaste help {builtin-keyword}
og få grundlæggende syntaksoplysninger hurtigt.
Svar
Hvis du er irriteret, giver manden printf dig printf ( 1) og alt hvad du vil have er printf (3), du kan fortælle manden, at du vil have printf fra sektion 3 ved at sætte sektionen før printf, som sådan: man 3 printf
uden at skulle ændre rækkefølgen af scannede mapper i miljøvariablen MANPATH og sæt dem til C-sprog foran dem for shell-kommandoer.
Svar
Jeg bruger bare grep
. Hvis jeg spekulerer på, hvad -s
-muligheden for read
-kommandoen gjorde, ville jeg prøve disse kommandoer i rækkefølge, indtil jeg fik et svar :
info read |grep \\-s man read |grep \\-s help read |grep \\-s
I dette tilfælde gav kun kommandoen info
et klart svar. Dette fremragende svar giver detaljerne om de forskellige hjælpesystemer.
Svar
man -a printf
er som standard man 1
på min Linux Mint-maskine. whatis printf
giver mig de relevante oplysninger.
Svar
Hvis du har svært ved at læse manpages på grund af al hvidfarvet tekst, kan du farve dem. De fleste man-sider åbnes med less
. For less
, jeg bruger følgende farveindstillinger 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 til bash og zsh. For most
, fish
, xterm
og rxvt
se linket ovenfor.
For yderligere læsning:
Svar
For at se effektivt efter switch til enkelt tegn, for eksempel -u
, kan du ofte bruge:
/^ *-u($|\s)
Sparer meget tid, hvis mange indstillinger har “-u” som præfiks.
Kommentarer
- Denne regex ville også være nyttig:
/-u($|[,\s])
i tilfælde af at optionstegnet er indrammet med komma. Men hvis du vil se alle poster i valgtegnet ' u ' (som-u]
i[--udp|-u]
afnetstat
manual) har du ' brug for noget som dette:/-u($|[^a-z])
Og hvisvi
ellervim
bruges som personsøger:/-u\($\|[^a-z]\)
Svar
apropos ( 1) kommando bruges til at søge på mandsider. De fleste implementeringer af apropos (1) søger dog kun i NAVN-sektionen, hvilket er meget begrænsende.
NetBSD har implementering af fuldtekstsøgning af apropos (1), som er i stand til at søge i det komplette indhold på mandsider. Der er også en webbaseret grænseflade til den: man-k.org , som du kan prøve.
Svar
Og for de folk, der kan lide at læse mands- og infosider i en berøringsskærm, kan du pibe mand / info til yad eller zenity og gøre brug af alle gtk3-godbidder som native finger rul. Fungerer også godt med reflekteret skærm og mus:
man cat |yad --text-info
Du kan også bruge zenity eller du kan tilføje yad-indstillinger som:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Tip: ved vis kan uri yoh klikke på weblinks inde på mandsider med mus / finger.
man --help
/man -h
og dens mere komplette søskendeman man
har søge- og navigationstip.man -P'less +/pattern' bash