Kommentarer
Svar
Var uppmärksam på avsnittets nummer: Antag att du vill ha hjälp med printf
. det finns minst två av dem: i skal och i C. Den bash-versionen av printf finns i avsnitt 1, C-versionen finns i avsnitt 3 eller 3C. Om du inte vet vilken du vill, skriv man -a printf
så visas alla manuella sidor.
Om det du letar efter är formatet på printf med alla% -koder och det visas inte på printf man-sida, kan du hoppa till relaterade man-sidor listade under SE OCH avsnitt. Du kan hitta något som formats(5)
, vilket föreslår att du skriver man 5 formats
.
Om du är irriterad att man printf
ger dig printf (1) och allt du vill är printf (3), du måste ändra ordningen på skannade kataloger i MANPATH
-miljön variabeln och lägg dem för C-språket framför dem för skalkommandon. Detta kan också hända när Fortran- eller TCL / Tk-mansidor listas före C-sidor.
Om du inte vet var du ska börja, skriv man intro
eller man -s <section> intro
. Detta ger dig en sammanfattning av kommandon för det begärda avsnittet.
Avsnitten är väl definierade:
- 1 är för skal kommandon,
- 2 är för systemanrop,
- 3 är för programmering av gränssnitt (ibland 3C för C, 3F för Fortran …)
- 5 är för filformat och andra regler som printf- eller regex-format.
Sist men inte minst: information som levereras på man-sidor är inte överflödig, så läs noggrant från början till slut för att öka dina chanser att hitta vad du behöver.
Kommentarer
- På de flesta system kan du kolla in
man man
för att se en fullständig beskrivning av de olika avsnitten. - Det skulle vara kul om det fanns ett program för att söka på sidor med ett « nyckelord » Dvs jag nyligen y kunde inte ' t komma ihåg namnet på c-funktionen för att hitta en understräng (
strstr()
) och Jag hade inget internet runt mig. - @ Hi-Angel
man -k substring
ellerapropos substring
skulle ha hjälpt dig.
Svar
Skriv snedstreck /
och skriv sedan strängen till söka efter. Fortsätt sedan trycka på n
för att komma till nästa objekt
Kommentarer
- shift + n för att gå till föregående match. Så hjälpsamt!
Svar
man -k search
Detta ger dig en lista över alla man-sidor som relaterar till ”search”.
Kommentarer
- Och för att lista alla mansidor som relaterar till ' sök ' i specifikt avsnitt (exempelvis nummer 3) kan man använda detta:
man -k search -s 3
Också nämnt i superuser.com/a/677969/ 599957 - Jag vet att sådana kommentarer på detta är missade, men tack, tack, tack! Jag har bokstavligen letat efter ett sådant kommando längre än jag ' jag bryr mig om att erkänna … år !!
-
apropos search
motsvararman -k search
🙂
Svar
Som @Steven D säger, glöm inte info
-sidorna.
Dessutom ska du inte skrämmas av info
sidor. Jag känner många människor som inte använder informationssidorna på grund av det inbyggda navigationssystemet. Min favoritlösning är att leda informationssidorna genom less
:
info gpg |less
På så sätt kan jag navigera på info
-sidorna med min favoritsidor. info
sidor kommer nu att fungera på samma sätt som man
sidor.
Kommentarer
- hej, att ' är ett bra tips om navigeringen
Svar
apropos
verktyget är allvarligt praktiskt för att hitta rätt manpage.
Kommentarer
-
man -k
= =apropos
, är inte ' t it? -
apropos
är vad jag använder hela tiden när jag letar efter något som inte har en mansida för sig själv. - ' man man ' säger att ' man -k ' motsvarar ' apropos -r '. Jag tror att apropos är lite kraftfullare. Jag använder generellt ' man -k ' eftersom det ' är något kortare.
Svar
Standardsökaren för att läsa en mansida är less
. Det finns dokumentation på less
här .
I synnerhet:
- Bläddra uppåt / nedåt med en sida: b / mellanslag
- Bläddra uppåt / nedåt med en halv sida: u / d
- Söker framåt / bakåt: / / ? , skriv sedan ett reguljärt uttryck,
- tryck sedan på n för att gå till nästa match eller
- shift + N för att gå till föregående match.
- Om sidan täcks av ointressanta matchningar, tryck på mellanslag för att gå till nästa sida.
- Lägg till en @ före det reguljära uttrycket för att söka från början.
Kommentarer
- DETTA är det bästa svaret. Extra poäng för att använda kbd-symboler. 😉
- Bläddra uppåt / nedåt med en sida kan också göras med
ctrl+space
/f
, vilket kan vara bra beroende på vilka fingrar du föredrar att använda för navigering.
Svar
Kontrollera alltid vad som finns i kommandona som visas under detta avsnitt på info
-sidan kan väljas genom att placera markören på önskat kommando och sedan trycka på enter-tangenten. Ofta hittar jag andra användbara kommandon eller funktioner som sätt.
Svar
Om du är bekvämare med din redigerare än med standard-personsökaren kan du ställa in MANPAGER
i din miljö. Till exempel har jag den här raden i min ~/.bashrc
:
export MANPAGER="col -b | vim -c "set ft=man nomod nolist ignorecase" -"
Svar
Jag antar att det är bra att använda personsökare. Denna personsökare är väldigt kraftfull, men huvudfunktionen för mig – att visa färgade man-sidor. Den här funktionen förbättrar uppfattningen av vanlig text och gör det lättare att söka efter nödvändig information.
Titta på den bifogade skärmdumpen, texten ser väldigt fin ut, eller hur?
Kommentarer
- Du har utelämnat den viktigaste informationen: hur använder jag
most
för att visa manusidor. - @ACK_stoverflow – förmodligen inte en bra idé att rekommendera killen att göra
> ~/.bashrc
eftersom det kommer att skriva över vad ' s där redan. Bättre att lägga till (>>
) eller lägga till kalk manuellt enligt min mening. - @vatsug Wow bra samtal, här är vad min kommentar borde ha sa: Installera det och prova det:
aptitude install most; export MANPAGER="most"; man man
. För att göra det permanent:echo 'export MANPAGER="most"' >> ~/.bashrc
Svar
ignorerar inte sidorna info
. Många GNU-verktyg har mycket mer omfattande informationssidor än man-sidor. Ofta kommer avsnittet SE OCH ”Den fullständiga dokumentationen för foo upprätthålls som en Texinfo-manual.” Detta gäller särskilt vad som helst i GNU coreutils-paketet.
Om du är en emacs-användare glöm inte att du kan läsa information och manuella sidor utan att lämna din redaktör: M-x info
och M-x woman
.
Svar
I Linux man
, du kan göra man -K string
(notera versaler K) för att göra en brute force-sökning efter en given term
-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.
mycket användbart när du inte vet var du ska söka.
Svar
Från Kristof svarar du om du (dvs.) skriver man -k chmod
så kommer du att få en lista över möjligheter.Notera numret inom parentes, det betyder det avsnitt du ska leta efter på manualsidorna:
På UNIX kan du försöka:
man -s1 chmod
det kommer att visa mansidan för chmod-kommandot
man -s2 chmod
det kommer att visa mansidan för C lib-funktionen chmod ()
På Linux bör du ändra -s
för -S
Kommentarer
- man 1 chmod man 2 chmod gör samma sak.
Svar
För de längre, mer komplexa mansidor Jag tycker att det är mycket lättare att läsa dem bort från en dator (konstigt, jag vet) och så har jag dessa 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
Visa man-sidor i ett användarvänligt grafiskt program:
konqueror man:(command)
För den övre innehållsförteckningen:
konqueror man:
Funktioner:
- Om du anger ett kommando t hatten har en matchning i flera avsnitt, det tar dig till en tydlig sida
- Det är en grafisk applikation, så du behöver inte komma ihåg kryptiska nyckelsekvenser för att navigera på sidan
- Den innehåller hyperlänkar till relaterade sidor (inklusive ”se även” -sidor)
- Du kan öppna relaterade sidor i separata flikar
Kommentarer
- Förresten, detta fungerar också med
info:(command)
. Vissa program ger mycket mer information via " info " än via " man ", och konqueror tillhandahåller ett mycket trevligare gränssnitt för att surfa på dessa informationssidor. Obs! Att bara användainfo:
fungerar också för att få en innehållsförteckning på toppnivå. - En liknande effekt kan uppnås med
gman
paket som skapar en webbserver för manpage på localhost / cgi-bin / man / man2html . - Alternativ på AskUbuntu: askubuntu.com/questions/253705/…
- …
yelp
är en lättare ersättning förkonqueror
– även om den har bristen att inte presentera en innehållsförteckning eller en otydlig sida för namn används i flera sektioner. Du måste särskilja dessa uttryckligen genom att lägga till.(section)
– t.ex.yelp man:open.2
. Du kan också använda < kbd > Ctrl-L < / kbd > för att öppna platsfältet.
Svara
Dayum, människor! Vad är det med de invecklade svaren? div> eller ?
– Sök framåt eller bakåt (som några av killarna redan har nämnt). I fallet med det förra kommer en liten bokstav n att rulla genom matchningar framåt, en stor N kommer gå bakåt. Det motsatta gäller för det senare – frågetecknet.
Något mer komplexa sökningar genom reguljära uttryck. Skillnaden mellan man
(eller less
) och VIM är att du måste använda escape () -tecknet för att förklara metatecken i ditt uttryck när du använder det senare. Den goda nyheten är att när du använder det förra (man
eller less
) -inte så mycket. Så du kan enkelt använda det här när du söker till exempel en iptables
mansida för flera termer som så: . Om du inte känner till reguljära uttryck betyder detta ”Sök efter ord iptables
ELLER rules
”. Efter att ha skrivit in detta och hållit på att trycka på n kommer du att bläddra igenom sökningens alternerande resultat med resultaten markerade för dig med olika färger (två, faktiskt. Haha). Om du försöker bläddra igenom sidan och vill koncentrera dig på specifika termer eller begrepp, kommer du inte att sakna en enda sak!
Och, naturligtvis, för snabbare navigering din vanliga vi
standbies står fortfarande (ingen ordlek avsedd): gg
eller G
– början / slutet av dokumentet (korrigering ! I man
kan du använda alla tangenter som nämns nedan utan att använda Ctrl. Det är endast för vi
. Ctrl + u or d
– Bläddra uppåt eller nedåt; Ctrl + b or f
– Samma sak, bara i större språng. ”Sida bakåt eller framåt”; e
eller y
– bläddra med en enda rad, men jag tror att de flesta hellre bara vill använda piltangenterna. Men om du vill stanna ”1337” och ”lämna aldrig hemraden” (som jag gör lol) – så är det vägen att gå.
Vad jag försöker säga är att UNIX har två huvudsmak av tangentbordsprogrammets kontroller, vilka båda är delar av readline
-biblioteket: vi och emacs. Upp dina kotletter i antingen en (men helst i båda) och det kommer att göra ditt liv mycket mindre komplicerat. De flesta av CLI-programmen i UNIX använder någon av dem. BASH
använder emacs-kontroller som standard, men det kan enkelt ställas in på ”vi-läge” genom att skriva set -o vi
. Detsamma kan sägas för reguljära uttryck, men att ”det kommer att bli långt utanför ämnet. Jag skulle till och med gå så långt som att säga att båda dessa är” lingua franca ”för UNIX.
Svar
Liknar men något annorlunda än Rob Hoelz svar,
Lägg till följande i ditt ~/.vimrc
:
let $GROFF_NO_SGR=1 runtime ftplugin/man.vim
Nu är vimman
en utmärkt visningssida och :Man
inifrån Vim (eller helt enkelt slå K
över ett nyckelord) är en utmärkt webbläsare.
Svar
De flesta av oss ställer in PATH-variabeln. Detta visar hur man automatiskt gör att sökvägen för mannen matchar din PATH-kommandosökning.
Säg att du lägger till din sökväg för att inkludera dina personliga, arbetsspecifika och lokalt installerade verktyg, som export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Som en bieffekt kommer man foo
inte att visa de manpages som är lagrade på ~ / man, / workgroup / man eller / opt / local / man.
För att lösa detta använder jag kommandot manpath
för att automatiskt ställa in sökvägen för mansidan. Till exempel har min ~ / .bashrc följande. Detta fungerar för mig på hundra olika system som kör allt från FreeBSD 4.x, Darwin och 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
Vissa system (som Apple Leopard) ställer in MANPATH automatiskt, men det betyder att ditt system kommer att använda MANPATH-variabeln istället för att använda manpath
. Som ett resultat ignoreras man-sidor för ”MacPorts” (/ opt / local / man). Jag vill kontrollera detta själv, så jag avaktiverar MANPATH:
unset MANPATH manpath >/dev/null
Svar
Om du letar efter information angående en bash
inbyggt (som time
, disown
, set
eller [[
), istället för att slå igenom den detaljerade bash
infosidan eller man bash
, kan du ange help {builtin-keyword}
och få grundläggande syntaxinformation snabbt.
Svar
Om du är irriterad över att man printf ger dig printf ( 1) och allt du vill ha är printf (3), du kan säga till mannen att du vill ha printf från avsnitt 3 genom att sätta avsnittet före printf, som så: man 3 printf
, utan att behöva ändra ordningen på skannade kataloger i MANPATH-miljövariabeln och placera dem för C-språket framför dem för skalkommandon.
Svar
Jag använder bara grep
. Om jag undrar vad -s
-alternativet för read
-kommandot gjorde, skulle jag prova dessa kommandon i ordning tills jag fick svar :
info read |grep \\-s man read |grep \\-s help read |grep \\-s
I det här fallet gav endast kommandot info
ett tydligt svar. Detta utmärkta svar ger detaljer om de olika hjälpsystemen.
Svar
man -a printf
är som standard man 1
på min Linux Mint-maskin. whatis printf
ger mig relevant information.
Svar
Om du har svårt att läsa manpages på grund av all vitfärgad text kan du färga dem. De flesta man-sidor öppnas med less
. För less
, jag använder följande färginställningar i .bashrc
från här :
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 "$@" }
Detta är för bash och zsh. För most
, fish
, xterm
och rxvt
se länken ovan.
För ytterligare läsning:
Svar
För att leta effektivt efter omkopplare för enstaka tecken, till exempel -u
, kan du ofta använda:
/^ *-u($|\s)
Sparar mycket tid om många alternativ har ”-u” som prefix.
Kommentarer
- Denna regex skulle också vara användbar:
/-u($|[,\s])
om alternativtecken är inramat med komma. Men om du vill se alla poster i alternativtecknet ' u ' (som-u]
i[--udp|-u]
avnetstat
manuell) behöver du ' något liknande:/-u($|[^a-z])
Och omvi
ellervim
används som personsökare:/-u\($\|[^a-z]\)
Svar
apropos ( 1) -kommandot används för att söka på mansidor. De flesta implementeringar av apropos (1) söker bara i avsnittet NAMN, vilket är mycket begränsande.
NetBSD har en fulltext-sökimplementering av apropos (1), som kan söka i hela innehållet på man-sidor. Det finns också ett webbaserat gränssnitt för det: man-k.org , som du kan prova.
Svar
Och för de människor som gillar att läsa man- och infosidor på en pekskärm kan du pipa man / info till yad eller zenity och använda alla gtk3-godsaker som infödda skrolla. Fungerar också bra med reflexskärm och mus:
man cat |yad --text-info
Du kan också använda zenity eller så kan du lägga till yad-alternativ som:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Tips: genom att visa kan uri yoh klicka på webblänkar på man-sidor med mus / finger.
man --help
/man -h
och dess mer kompletta syskonman man
har sök- och navigeringstips.man -P'less +/pattern' bash