Jaka jest różnica między `man` i` man (#) `?

31

Właśnie widziałem kogoś, kto odnosi man 7 regexsię do Stackoverflow. Próbowałem man regexi uzyskałem bardzo podobny wynik - wydaje się, że istnieją niewielkie różnice.

Czym jest ta magiczna liczba 7? Wyszukiwanie man 7 unixw Google daje mi bardziej tajemnicze wyniki, takie jak UNIX (7) ...

Aditya MP
źródło

Odpowiedzi:

33

O UNIX(7)

Aby odpowiedzieć na pytanie „UNIX (7)”, jest to standardowa konwencja mówiąca „Strona podręcznika dla UNIX w sekcji 7 (różne)”.

Aby otworzyć stronę podobnego init(8), należy użyć polecenia: man 8 init.


man regex vs man 7 regex

Aby odpowiedzieć na pytanie dotyczące „subtelnych różnic” między man regexi man 7 regex:

mandomyślnie otwiera stronę o najniższym numerze sekcji. W tym przypadku jest to sekcja 3 (wywołania biblioteczne). Otwarcie strony z sekcji 7 (Różne) jest zupełnie inne.

Strony w różnych sekcjach dotyczą różnych rzeczy, chociaż w tym przypadku są one podobne, rozważ apt:

man -f apt:

apt (8)              - Advanced Package Tool
apt (1)              - annotation processing tool

W tym przykładzie aptz sekcji 8 (Komendy administracyjne systemu) nie ma żadnego związku ze stroną z sekcji 1 (Programy wykonywalne lub polecenia powłoki).

Do wykorzystania w przyszłości użyj, man -f PAGE_NAMEaby zlokalizować wszystkie strony o tej nazwie we wszystkich sekcjach. Następnie możesz otworzyć stronę z żądanej sekcji man SECTION PAGE_NAME.

Sekcje strony podręcznika

Różne sekcje strony są następujące i można je znaleźć w man man:

  1. Programy wykonywalne lub polecenia powłoki
  2. Wywołania systemowe (funkcje zapewniane przez jądro)
  3. Wywołania biblioteczne (funkcje w bibliotekach programów)
  4. Pliki specjalne (zwykle znajdujące się w /dev)
  5. Formaty plików i konwencje, np /etc/passwd
  6. Gry
  7. Inne (w tym pakiety makr i konwencjami), np man(7),groff(7)
  8. Komendy administracyjne systemu (zwykle tylko dla roota)
  9. Procedury jądra [niestandardowe]
kiri
źródło
14

Numery sekcji

manpokaże manpage z dowolnej sekcji, man 7pokaże manpage z sekcji 7. Zatem tutaj 7 odnosi się do sekcji konkretnego polecenia, dla którego szukasz strony podręcznika.

Część, jeśli jest podana, przekieruje człowieka do spojrzenia tylko w tej części instrukcji.


Sekcje

W poniższej tabeli podano numery sekcji instrukcji oraz typy stron, które zawierają.

1: Programy wykonywalne lub polecenia powłoki

2: Wywołania systemowe (funkcje dostarczane przez jądro)

3: Wywołania biblioteczne (funkcje w bibliotekach programów)

4: Pliki specjalne (zwykle znajdujące się w / dev)

5: Formaty plików i konwencje, np. / Etc / passwd

6: Gry

7: Różne (w tym pakiety makr i konwencje), np. Man (7), groff (7)

8: Polecenia administracyjne systemu (zwykle tylko dla roota). Przegląd różnych tematów, konwencji i protokołów, standardów zestawów znaków i różnych innych rzeczy.

9: Procedury jądra [niestandardowe]


Polecenia w więcej niż jednej sekcji

W większości przypadków będziesz chciał użyć manpolecenia bez dodatkowego n . Jednak w niektórych przypadkach polecenie pojawi się w więcej niż jednej sekcji. Na przykład, jeśli man openwydasz polecenie , otrzymasz stronę man dla openvt z sekcji 1. Ale jeśli chcesz zobaczyć stronę man dla open jako polecenie C (lub wywołanie systemowe, jak w powyższej tabeli), musisz wydać man 2 open.

Bardzo podobnym przykładem będzie man printfi man 3 printf. Wydaj polecenia i przekonaj się sam o różnicy w wynikach.


Twój problem z man 7 unix(UNIX (7))

Tak więc ten UNIX (7) oznacza, że ​​należy on do sekcji 7.


Która sekcja będzie wyświetlana domyślnie, jeśli nie podam numeru sekcji?

Domyślną czynnością jest wyszukiwanie we wszystkich dostępnych sekcjach, zgodnie z ustaloną kolejnością i wyświetlanie tylko pierwszej znalezionej strony, nawet jeśli strona istnieje w kilku sekcjach.


Jak poznać numer sekcji polecenia?

Jeśli musisz dowiedzieć się, w których sekcjach znajduje się termin / polecenie man -k(odpowiednik polecenia apropos). Więc man -k printf będzie szukał krótkie opisy i nazwy stron podręcznika dla słowa kluczowego printf jako wyrażenie regularne. Wydrukuj dowolne dopasowania. (Odpowiednik apropos -r printf). Wydaj polecenie, zobacz tonę, którą dostajesz. Jeśli chcesz uniknąć dopasowania podłańcuchów (np. Pokaże sprintf, jeśli uruchomisz man -k printf), więc musisz go użyć, ^termaby go ograniczyć, jak poniżej,

man -k '^printf'
Printf (3o)          - Formatted output functions.
printf (1)           - format and print data
printf (3)           - formatted output conversion

Powiązane polecenie

Powiązane polecenie jest takie, aproposjak wskazano powyżej, które przeszukuje nazwy i opisy stron podręcznika. Jeśli nie masz pewności, której strony podręcznika szukasz, ale masz ogólny pomysł, użyj tego polecenia.

Masroor
źródło
Ale dokumentacja regexnie ma 7 sekcji ...
Aditya MP
@adityamenon Proszę zobaczyć zaktualizowaną odpowiedź, została opublikowana przed zakończeniem.
Masroor,
Rozumiem - więc „Sekcja” oznacza tutaj „klasyfikację programu”.
Aditya, poseł
@adityamenon Masz rację, byłbym bardziej komfortowo z terminem, którego używasz.
Masroor,
W szczególności „sekcja” oznacza tutaj „sekcję Podręcznika”, tak jakby wszystkie strony podręcznika były w jednym (grubym) drukowanym podręczniku
Jonathan Callen