man(1)

NAZWA
man - formatowanie i wyświetlanie dostępnych stron podręcznika man
manpath - wyznaczanie ścieżki poszukiwania stron podręcznika odpowiedniej dla danego użytkownika

SKŁADNIA

man [-adfhkKtwW] [-m system] [-p łańcuch_znaków] [-C plik_konfiguracyjny] [-M ścieżka] [-P pager] [-S lista_rozdziałów] [rozdział] nazwa...

OPIS
man formatuje i wyświetla dostępne w systemie strony podręcznika man. Jeżeli zostanie podany rozdział, man sprawdza tylko ten rozdział podręcznika. Jeżeli nazwa zawiera znak /, to man próbuje najpierw znaleźć podany plik, więc można np. wydać polecenie man ./foo.5 a nawet man /cd/foo/bar.1.gz.

Niżej znajdziesz informacje, gdzie man szuka plików stron podręcznika.

OPCJE

-C  plik_konfiguracyjny
    Określa plik konfiguracyjny, którego należy użyć. Domyślnym jest /etc/man.conf. (Zobacz man.conf(5).)

-M  ścieżka
    Określa listę katalogów, w których będą szukane strony podręcznika man. Katalogi należy rozdzielać dwukropkami. Pusta lista jest równoznaczna z nie podaniem tej opcji. Zobacz ŚCIEŻKA PRZESZUKIWANIA DLA STRON PODRĘCZNIKA.

-P  pager
    Określa, który pager ma zostać użyty. Jeżeli podana jest ta opcja, ignorowana jest zmienna środowiskowa MANPAGER, której użycie z kolei powoduje zignorowanie zmiennej środowiskowej PAGER. Domyślnie man używa /usr/bin/less-is.

-S  lista_rozdziałów
    Rozdzielona dwukropkami lista rozdziałów podręcznika, które mają być przeszukane. Jeżeli podana jest ta opcja, zmienna środowiskowa MANSECT jest ignorowana.

-a  Domyślnie man kończy działanie po wyświetleniu pierwszej znalezionej strony. Podanie tej opcji powoduje wyświetlenie wszystkich stron podręcznika, które pasują do nazwa, a nie tylko pierwszej.

-c  Przeformatowuje źródłową stronę podręcznika, nawet jeżeli istnieje aktualna strona cat. Może to być istotne, jeżeli strona cat jest sformatowana dla ekranu z inną liczbą kolumn.

-d  Zamiast stron podręcznika wyświetla mnóstwo informacji diagnostycznych.

-D  Wyświetla zarówno stronę podręcznika jak i informacje diagnostyczne.

-f  Równoważne whatis.

-h  Wyświetla krótką informację pomocy i kończy pracę.

-k  Równoważne apropos.

-K  Szuka podanego łańcucha znaków we *wszystkich* stronach podręcznika. Uwaga: będzie to prawdopodobnie bardzo powolne! Podanie rozdziałów pomaga przyspieszyć szukanie. (Dla ogólnej orientacji: na mojej maszynie zajmuje to ok. minuty na każde 500 stron podręcznika.)

-m  system
    Podanie alternatywnego zestawu stron podręcznika, odpowiedniego dla systemu o podanej nazwie.

-p  łańcuch_znaków
    Podanie listy nazw preprocesorów, ktore zostaną uruchomione przed nroff i troff. Nie wszystkie intalacje mają pełny zestaw preprocesorów. Niektóre z nich oraz oznaczające je litery to: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r). Podanie tej opcji powoduje zignorowanie zmiennej środowiskowej MANROFFSEQ.

-t  Sformatuj stronę podręcznika za pomocą /usr/bin/groff-Tps-mandoc, a wynik wyślij na stdout (standardowe wyjście). Może być konieczne przepuszczenie wyniku z /usr/bin/groff -Tps -mandoc przez jakiś filtr przed wydrukowaniem.

-w lub --path
    Nie wyświetlaj stron podręcznika, podaj tylko gdzie znajdują się pliki, które byłyby sformatowane i wyświetlone. Jeżeli nie podano żadnych argumentów: wyświetla (na stdout) listę katalogów, w których man poszukuje stron podręcznika. Jeżeli manpath jest dowiązaniem man to "manpath" jest równoważne "man --path".

-W  Podobne do -w, lecz podaje nazwy plików, każdą w osobnej linii, bez dodatkowych informacji. Przydaje się w poleceniach powłoki, np. man -aW man | xargs ls -l

STRONY CAT
Man będzie próbował zachować sformatowane strony podręcznika aby skrócić czas potrzebny na sformatowanie ich po raz kolejny, kiedy te strony będą znowu potrzebne. Tradycyjnie, sformatowane wersje stron podręcznika z katalogu DIR/manX są zachowywane w DIR/catX, ale można też w pliku /etc/man.conf określić inne zasady. Strony cat nie są tworzone, jeżeli wymagany katalog nie istnieje.

Możliwe jest uczynienie programu man suidowym na użytkownika man. Wtedy, jeśli katalogi cat mają właściciela man i prawa dostępu 0755 (zapisywalne tylko przez użytkownika man), a pliki cat mają właściciela man i prawa dostępu 0644 lub 0444 (zapisywalne przez użytkownika man lub przez nikogo), to żaden zwykły użytkownik nie może zmieniać stron cat lub umieszczać w katalogach cat innych plików. Jeżeli man nie jest suidowy to katalog cat powinien mieć prawa dostępu 0777, o ile wszyscy użytkownicy powinni mieć możliwość pozostawiania tam stron cat.

Opcja -c wymusza przeformatowanie strony nawet jeżeli istnieje już odpowiednia strona cat.

ŚCIEŻKA PRZESZUKIWANIA DLA STRON PODRĘCZNIKA
man stosuje wymyślną metodę poszukiwania plików stron podręcznika, opartą na opcjach wywołania, zmiennych środowiskowych, pliku konfiguracyjnym /etc/man.conf oraz na pewnych wbudowanych konwencjach i heurystyce.

Najpierw, gdy argument nazwa polecenia man zawiera ukośnik (/), man zakłada, że jest on nazwą właściwego pliku i nie prowadzi poszukiwania.

Ale zazwyczaj, gdy nazwa nie zawiera ukośnika, man poszukuje pliku, który mógłby stanowić stronę podręcznika o zadanym temacie, w różnych katalogach.

Jeśli zostanie podana opcja -M ścieżka, to ścieżka jest rozdzieloną dwukropkami listą przeszukiwanych przez program man katalogów.

Gdy opcja -M nie zostanie podana, ale zostanie zdefiniowana zmienna środowiskowa MANPATH, wartość tej zmiennej stanowi listę przeszukiwanych przez program man katalogów.

Jeśli ścieżka nie zostanie podana w sposób jawny ani za pomocą -M ani poprzez MANPATH, man rozwija swoją własną ścieżkę w oparciu o zawartość pliku konfiguracyjnego /etc/man.conf. Instrukcje MANPATH w pliku konfiguracyjnym określają poszczególne katalogi włączane do ścieżki przeszukiwania.

Ponadto, instrukcje MANPATH_MAP dodają do ścieżki przeszukiwania katalogi zależne od ścieżki przeszukiwania dla poleceń (tzn. zawartej w zmiennej środowiskowej PATH ). Instrukcja MANPATH_MAP dodaje do ścieżki przeszukiwania dla stron podręcznika po jednym katalogu dla każdego katalogu zawartego w ścieżce przeszukiwania dla poleceń. man przegląda zmienną PATH i dodaje odpowiednie katalogi do ścieżki przeszukiwania dla stron podręcznika. Zatem przy właściwym użyciu MANPATH_MAP, po wydaniu polecenia man xyz, otrzyma się stronę podręcznika dla programu, który zostałby uruchomiony poprzez wydanie polecenia xyz.

Dodatkowo, dla każdego katalogu w ścieżce przeszukiwania dla poleceń (będziemy go nazywać "katalogiem poleceń"), dla którego nie ma instrukcji MANPATH_MAP, man automatycznie poszukuje "bliskiego" katalogu stron podręcznika jako podkatalogu właściwego katalogu poleceń lub w katalogu nadrzędnym dla katalogu poleceń.

Można wyłączyć automatyczne "bliskie" przeszukiwania dołączając instrukcję NOAUTOPATH do /etc/man.conf.

Jak opisano powyżej, w każdym z katalogów ścieżki przeszukiwania man poszukuje pliku o nazwie tytuł.rozdział, z opcjonalnym przyrostkiem dla numeru rozdziału i możliwym przyrostkiem kompresji. Jeśli nie znajdzie takiego pliku, będzie szukał w podkatalogach o nazwach manN i catN, gdzie N jest numerem rozdziału podręcznika. Jeśli plik znajduje się w podkatalogu man zakłada, że jest to sformatowany plik strony podręcznika (cat page). W przeciwnym przypadku, man zakłada, że jest ona niesformatowana. W obu przypadkach, jeśli nazwa pliku zawiera znany przyrostek kompresji (jak .gz), man zakłada, że jest ona spakowania gzipem.

Aby zobaczyć, gdzie (lub czy) man znajdzie stronę podręcznika o określonym tytule, należy posłużyc się opcją --path (-w).

ŚRODOWISKO

MANPL
    Jeśli zmienna MANPL jest zdefinowana, to jej wartość jest używana do określenia długości strony. W przeciwnym przypadku, cała strona podręcznika będzie stanowić jedną (długą) stronę.

MANROFFSEQ
    Jeśli zmienna MANROFFSEQ jest zdefinowana, to jej wartość jest używana do zdefinowania zestawu preprocesorów uruchamianych przed nroff i troff. Domyślnie strony są przepuszczane przez preprocesor tbl przed użyciem nroff.

MANSECT
    Jeśli zmienna MANSECT jest zdefiniowana, to jej wartość jest używana do określenia jakie rozdziały podręcznika powinny zostać przeszukane.

MANWIDTH
    Jeśli zmienna MANWIDTH jest zdefiniowana, to jej wartość jest używana jako szerokość wyświetlanych stron podręcznika man. W przeciwnym wypadku, strony będą wyświetlane na całej szerokości ekranu.

MANPAGER
    Jeśli zmienna MANPAGER jest zdefiniowana, to jej wartość jest używana jako nazwa programu do wyświetlania strony podręcznika man. Jeśli nie jest zdefiniowana, to używana jest zmienna PAGER. Jeżeli ta również nie ma nadanej wartości, to używany jest /usr/bin/less-is.

LANG
    Jeśli zmienna LANG jest zdefiniowana, to jej wartość określa nazwę podkatalogu, w którym man najpierw będzie szukać stron podręcznika. Zatem polecenie `LANG=pl man 1 coś' (w sh lub bash) spowoduje, że man będzie szukać strony "coś" w .../pl/man1/coś.1, a następnie, jeżeli takiego pliku nie znajdzie, w .../man1/coś.1, gdzie ... jest katalogiem ze ścieżki przeszukiwania.

NLSPATH, LC_MESSAGES, LANG
    Zmienne środowiskowe NLSPATH i LC_MESSAGES (lub LANG, jeżeli ta druga nie istnieje) sterują przeszukiwaniem katalogów z komunikatami. (Komunikaty angielskie są wkompilowane, więc dla angielskiego taki katalog nie jest potrzebny.) Zauważ, że programy takie jak col(1), wołane przez man, również używają np. LC_TYPE.

PATH
    PATH pomaga określić ścieżkę przeszukiwania dla plików stron podręcznika. Zobacz ŚCIEŻKA PRZESZUKIWANIA DLA STRON PODRĘCZNIKA.

SYSTEM
    SYSTEM jest używana do pobierania domyślnej alternatywnej nazwy systemu (do używania razem z opcją -m).

ZOBACZ TAKŻE
apropos(1), whatis(1), less(1), groff(1), man.conf(5).

BŁĘDY
Opcja -t działa tylko jeżeli jest zainstalowany jakiś program działający jak troff.
Jeżeli zamiast myślników pojawią się migające \255 lub <AD>, to należy ustawić w środowisku użytkownika `LESSCHARSET=latin1'.

ZAKOŃCZENIE
Jeśli do pliku .emacs użytkownika dodana zostanie linia
  (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word)))) to naciśnięcie F1 spowoduje wyświetlenie strony podręcznika dla funkcji bibliotecznej, na której ustawiony jest kursor.

Aby uzyskać czysto tekstową wersję strony podręcznika, bez cofnięć i podkreśleń, należy wydać polecenie
  # man coś | col -b > coś.mantxt