Închis . Această întrebare trebuie să fie mai concentrată
. În prezent, nu acceptă răspunsuri.
Comentarii
Răspuns
Acordați atenție numărului secțiunii: Să presupunem că doriți ajutor pe printf
. există cel puțin două dintre ele: în shell și în C. Versiunea bash a printf este în secțiunea 1, versiunea C este în secțiunea 3 sau 3C. Dacă nu știți pe care doriți, tastați man -a printf
și toate paginile manuale vor fi afișate.
Dacă ceea ce căutați este formatul printf cu toate codurile% și nu apare pe pagina de manual printf, puteți să accesați paginile de manual asociate listate la VEZI ȘI paragraful. Este posibil să găsiți ceva de genul formats(5)
, care vă sugerează să tastați man 5 formats
.
Dacă vă enervează faptul că man printf
vă oferă printf (1) și tot ce doriți este printf (3), trebuie să modificați ordinea directorilor scanate în mediul MANPATH
variabilă și puneți cele pentru limbajul C înainte de cele pentru comenzile shell. Acest lucru se poate întâmpla și atunci când paginile man Fortran sau TCL / Tk sunt listate înaintea celor C.
Dacă nu știți de unde să începeți, tastați man intro
sau man -s <section> intro
. Aceasta vă oferă un rezumat al comenzilor secțiunii solicitate.
Secțiunile sunt bine definite:
- 1 este pentru shell comenzi,
- 2 este pentru apeluri de sistem,
- 3 este pentru programarea interfețelor (uneori 3C pentru C, 3F pentru Fortran …)
- 5 este pentru formate de fișiere și alte reguli, cum ar fi formatele printf sau regex.
Nu în ultimul rând: informațiile livrate în paginile man nu sunt redundante, așa că citiți cu atenție de la început până la sfârșit pentru a vă crește șansele de a găsi de ce aveți nevoie.
Comentarii
Răspuns
Tastați slash /
și apoi tastați șirul la caută. Apoi continuați să apăsați n
pentru a ajunge la următorul articol
Comentarii
Răspuns
man -k căutare
Acest lucru vă va oferi o listă a tuturor paginilor manuale care se referă la „căutare”.
Comentarii
Răspuns
După cum spune @Steven D, nu uitați paginile info
.
În plus, nu vă lăsați intimidați de info
pagini. Știu o mulțime de oameni care nu folosesc paginile de informații din cauza sistemului de navigare încorporat. Soluția mea preferată este să trec paginile de informații prin less
:
info gpg |less
În acest fel, pot naviga prin paginile info
folosind pagerul meu preferat. info
se vor comporta acum la fel ca paginile man
.
Comentarii
Răspuns
apropos
utilitarul este serios la îndemână pentru a găsi pagina de manual adecvată.
Comentarii
Răspuns
Pagerul implicit pentru citirea unei pagini manual este less
. Există documentație pe less
aici .
În special:
- Derulați în sus / jos cu o pagină: b / spațiu
- Derulați în sus / jos cu o jumătate de pagină: u / d
- Căutarea înainte / înapoi: / / ? , apoi tastați o expresie regulată,
- apoi apăsați n pentru a merge la următorul meci sau
- shift + N pentru a merge la meciul anterior.
- Dacă pagina este acoperită de potriviri neinteresante, apăsați pe spațiu pentru a merge la pagina următoare.
- Adăugați un @ înainte de expresia regulată pentru a căuta de la început.
Comentarii
Răspundeți
Verificați întotdeauna în ce se află secțiunea VEZI ȘI. Comenzile afișate sub această secțiune în pagina info
sunt selectabile plasând cursorul pe comanda dorită și apoi apăsând tasta Enter. Frecvent găsesc alte comenzi sau funcții utile care mod.
Răspuns
Dacă sunteți mai confortabil cu editorul decât sunteți cu pagerul implicit, puteți seta MANPAGER
în mediul dvs. De exemplu, am această linie în ~/.bashrc
:
export MANPAGER="col -b | vim -c "set ft=man nomod nolist ignorecase" -"
Răspuns
Presupun că utilizarea pagerului majoritatea este o idee bună. Acest pager este foarte puternic, dar principala mea caracteristică – afișarea paginilor colorate. Această caracteristică îmbunătățește percepția textului simplu și facilitează căutarea informațiilor necesare.
Uită-te la captura de ecran atașată, textul arată foarte frumos, nu-i așa?
Comentarii
Răspuns
Nu „ignorați paginile info
. Multe instrumente GNU au pagini de informații mult mai extinse decât paginile man. Adesea, secțiunea VEZI ȘI va spune „Documentația completă pentru foo este păstrată ca un manual Texinfo.” Acest lucru este valabil mai ales pentru orice din pachetul GNU coreutils.
De asemenea, dacă sunteți utilizator emacs, nu uitați că puteți citi informații și pagini manuale fără a părăsi editorul: M-x info
și M-x woman
.
Răspuns
În Linux man
, puteți face man -K string
(notați majuscula K) pentru a efectua o căutare cu forță brută a unui termen dat
-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.
foarte util atunci când nu știi unde să cauți.
Răspunde
Din răspunsul Kristof, dacă (adică) tastați man -k chmod
veți obține o listă de posibilități.Rețineți numărul din paranteză, înseamnă secțiunea de căutat în paginile manualului:
Pe UNIX puteți încerca:
man -s1 chmod
va afișa pagina de man pentru comanda chmod
man -s2 chmod
va afișa pagina de man pentru funcția C lib chmod ()
Pe Linux ar trebui să schimbați -s
pentru -S
Comentarii
Răspuns
Pentru cei mai lungi, mai mult paginile complexe ale omului Mi se pare mult mai ușor să le citesc departe de un computer (ciudat, știu) și așa am aceste funcții în .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 ;}
Răspuns
Vizualizați paginile man într-o aplicație grafică ușor de utilizat:
konqueror man:(command)
Pentru cuprinsul de nivel superior:
konqueror man:
Caracteristici:
- Dacă introduceți o comandă t hat are o potrivire în mai multe secțiuni, vă duce la o pagină de dezambiguizare
- Este „o aplicație grafică, deci nu trebuie să vă amintiți secvențele de chei criptice pentru a naviga pe pagina
- Include hyperlinkuri către pagini corelate (inclusiv pagini „vezi și”)
- Puteți deschide pagini corelate în file separate
Comentarii
Răspunde
Dayum, oameni buni! Ce se întâmplă cu răspunsurile complicate ?! Orice s-a întâmplat, simplitatea fiind cheia strălucirii și ce nu? Majoritatea tastelor vi / vim vor funcționa înot:
/
sau ?
– Căutați înainte sau înapoi (așa cum unii dintre băieți au menționat deja). În cazul primului, o minusculă n va parcurge meciurile înainte, un majuscul N va mergeți înapoi. Opusul este adevărat pentru acesta din urmă – semnul întrebării.
Căutări puțin mai complexe prin expresii regulate. Diferența dintre man
(sau less
) și VIM înseamnă că trebuie să utilizați caracterul escape () pentru a declara metacaractere în expresia dvs. atunci când utilizați acesta din urmă. Vestea bună este că atunci când utilizați primul (man
sau less
) -nu atât de mult. Prin urmare, puteți utiliza cu ușurință acest lucru atunci când căutați, de exemplu, un iptables
pagină manuală pentru mai mulți termeni de genul: . Dacă nu sunteți familiarizați cu expresiile regulate, aceasta înseamnă „Căutați instanțe de cuvinte iptables
SAU rules
„. După ce introduceți acest lucru și continuați să apăsați n, veți parcurge rezultatele alternative ale căutării, rezultatele fiind evidențiate frumos pentru dvs. cu culori diferite (două, de fapt. Haha). Dacă încercați să parcurgeți pagina și doriți să vă concentrați asupra unor termeni sau concepte specifice, nu veți pierde niciun lucru!
Și, desigur, pentru o navigare mai rapidă, standby-urile rămân în picioare (fără joc de cuvinte): gg
sau G
– început / sfârșit document; ! În man
puteți utiliza toate tastele menționate mai jos fără a utiliza Ctrl. Acestea sunt doar pentru vi
). Ctrl + u or d
– Derulați în sus sau în jos; Ctrl + b or f
– Același lucru, doar în salturi mai mari. „Pagina înapoi sau înainte”; e
sau y
– derulați cu o singură linie, dar cred că majoritatea oamenilor ar prefera să folosească tastele săgeată. Cu toate acestea, dacă doriți să rămâneți „1337” și „nu părăsiți niciodată rândul de acasă” (așa cum fac eu lol), acesta este calea de urmat.
Ceea ce încerc să spun este că UNIX are două variante principale de controale ale programului de la tastatură, care sunt ambele părți ale bibliotecii readline
: vi și emacs. Puneți cotletele în oricare dintre ele (dar, de preferință, în ambele) și vă va face viața mult mai puțin complicată. Majoritatea programelor CLI din UNIX utilizează unul sau altul. BASH
folosește în mod implicit controale emacs, dar poate fi setat cu ușurință la „modul vi” tastând set -o vi
. Același lucru se poate spune și pentru expresiile obișnuite, dar „va fi mult subiect. Aș merge chiar până în a spune că ambele sunt„ lingua franca ”UNIX.
Răspuns
Similar cu răspunsul lui Rob Hoelz, dar ușor diferit,
Adăugați următoarele în ~/.vimrc
:
let $GROFF_NO_SGR=1 runtime ftplugin/man.vim
Acum vimman
este un vizualizator excelent de pagini de manual și :Man
din interiorul Vim (sau pur și simplu apăsând K
peste un cuvânt cheie) este un excelent browser de pagini de utilizare.
Răspuns
Majoritatea dintre noi setăm variabila PATH. Acest lucru vă va arăta cum să faceți ca calea de căutare a omului să se potrivească automat cu PATH-ul dvs. de căutare de comandă. cale pentru a include utilitățile dvs. personale, specifice lucrului și instalate local, cum ar fi export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Ca efect secundar, man foo
nu va afișa paginile de manual stocate la ~ / man, / workgroup / man sau / opt / local / man.
Pentru a rezolva aceasta, folosesc comanda manpath
pentru a seta automat calea de căutare a paginii man. De exemplu, ~ / .bashrc are următoarele. Acest lucru funcționează pentru mine pe o sută de sisteme diferite care rulează totul din FreeBSD 4.x, Darwin și 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
Unele sisteme (cum ar fi Apple Leopard) setează automat MANPATH, dar asta înseamnă că sistemul dvs. va folosi variabila MANPATH în loc să folosească manpath
. Ca rezultat, paginile man pentru „MacPorts” (/ opt / local / man) sunt ignorate. Vreau să controlez acest lucru singur, așa că anulez MANPATH:
unset MANPATH manpath >/dev/null
Răspuns
Dacă căutați informații cu privire la bash
builtin (cum ar fi time
, disown
, set
sau [[
), în loc să parcurgeți pagina de informații detaliate bash
sau man bash
, puteți introduce help {builtin-keyword}
și obțineți rapid informații sintaxice de bază.
Răspundeți
Dacă sunteți enervat, omul printf vă oferă printf ( 1) și tot ce vrei este printf (3), îi poți spune omului că vrei printf din secțiunea 3 punând secțiunea înaintea printf, astfel: man 3 printf
, fără a fi nevoie să schimbi ordinea directoarelor scanate în variabila de mediu MANPATH și puneți cele pentru limbajul C înainte de cele pentru comenzile shell.
Răspundeți
Pur și simplu folosesc grep
. Dacă ar fi să mă întreb ce a făcut opțiunea -s
a comenzii read
, aș încerca aceste comenzi în ordine până când am primit un răspuns :
info read |grep \\-s man read |grep \\-s help read |grep \\-s
În acest caz, numai comanda info
a oferit un răspuns clar. Acest răspuns excelent oferă detalii despre diferitele sisteme de ajutor.
Răspuns
man -a printf
doar implicit la man 1
pe mașina mea Linux Mint. whatis printf
îmi oferă informațiile pertinente.
Răspuns
Dacă vă este greu să citiți paginile de manual din cauza întregului text colorat în alb, le puteți colora. Majoritatea paginilor de manual se deschid cu less
. Pentru less
, folosesc următoarele setări de culoare în .bashrc
din aici :
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 "$@" }
Aceasta este pentru bash și zsh. Pentru most
, fish
, xterm
și rxvt
vezi linkul de mai sus.
Pentru lecturi suplimentare:
Răspuns
Pentru a căuta eficient comutatorul cu un singur caracter, de exemplu -u
, puteți utiliza adesea:
/^ *-u($|\s)
Economisește mult timp dacă multe opțiuni au „-u” ca prefix.
Comentarii
Răspuns
apropos ( 1) comanda este utilizată pentru căutarea în paginile de manual. Cu toate acestea, majoritatea implementărilor apropos (1) caută doar în secțiunea NAME, ceea ce este foarte limitativ.
NetBSD are o implementare de căutare a textului complet de apropos (1), care poate căuta conținutul complet al paginilor manual. Există, de asemenea, o interfață bazată pe web: man-k.org , pe care o puteți încerca.
Răspuns
Și pentru acei oameni cărora le place să citească paginile despre informații despre om pe un ecran tactil, puteți transmite omul / informațiile pe Yad sau Zenity și să folosiți toate bunătățile gtk3, cum ar fi sul. De asemenea, funcționează excelent cu ecranul și mouse-ul refular:
man cat |yad --text-info
Puteți utiliza, de asemenea, zenity sau puteți adăuga opțiuni yad, cum ar fi:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Sfat: prin show uri, puteți face clic pe linkurile web din paginile man cu mouse / deget.