man 手册 - Arch Linux 中文维基

跳至內容

# man 手册

出自 Arch Linux 中文维基

翻譯狀態：

- 本文（或部分內容）譯自 Man page，最近一次同步於 2025-07-22，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- 在終端輸出彩色#man

man 手冊頁，指 "manual pages"，是類 UNIX 系統的標準手冊工具，包括Arch Linux。這個命令常常被顯示為 man(1)。

man手冊頁被設計成獨立的文檔，不能引用其它手冊頁面，於是這限制了它們在討論相似話題時指向其它的手冊頁面。這與支持超連結的 Info 文檔形成鮮明對比，GNU正在將 man 手冊替換成 info 文檔。

## 安裝

man-db包 提供了 man 命令，less 是 man 的默認分頁器。mandoc包 同樣可供使用。

man-pages包 既提供Linux和POSIX.1的man頁面。[1]

中文用戶可以選擇安裝中文版本，其餘語言版本見英文wiki:

- man-pages-zh_cn包 簡體中文版本
- man-pages-zh_tw包 繁體中文版本

你也可以搜索所有可用的本地man頁面在官方倉庫和AUR

## 閱讀手冊頁

通過以下命令閱讀man手冊頁：

    $ man 手册名

man手冊頁分為很多段落。每個段落有一段介紹，像intro(1), intro(2)等等。完整的列表可以參考:man-pages(7) § Sections of the manual pages .

man手冊頁通過名稱和所屬分類標識。有些不同分類的man手冊頁名字可能相同，比如 man(1) 和 man(7)，這時需要額外指明分類以訪問需要的手冊。例如：

    $ man 5 passwd

會顯示有關文件`/etc/passwd`，而非命令 `passwd`，的內容。

相同地，我們也可以使用man頁面後用一'.'分開，並追加一段落號:

    $ man passwd.5

## 搜索手冊頁

如果用戶壓根兒不知道要查閱的手冊的名稱，該怎麼辦呢？沒事，通過 `-k` 或者 `--apropos` 參數就可以按給定關鍵詞搜索相關手冊。例如，要查閱有關密碼的手冊（「password」）：

關鍵詞搜索特性是從一個專用的緩存生成的。默認情況下你沒有這個緩存，所以無論你搜什麼，都會提示你nothing appropriate。你可以通過下面的命令來生成這個緩存：

    # mandb

每當你安裝新的manpage之後都需要運行這個命令，緩存才會更新。

現在你可以開始搜索了。例如，要查閱有關密碼的手冊（「password」）,可以使用下面的命令:

    $ man -k password
    $ man --apropos password
    $ apropos password

關鍵字可以使用正則表達式。

如果你想全文搜索的話，你可以用`-K`選項：

    $ man -K password

通過`whatis`命令，可以只顯示需要的man手冊頁的簡要信息。如果只是想獲取對命令 ls 的簡要說明，使用以下命令：

    $ whatis ls

    ls (1p)              - list directory contents
    ls (1)               - list directory contents

## 頁面寬度

man頁面寬度由環境變量`MANWIDTH` 來控制。

如果終端中的列數很小（比如窗口寬度很小），換行可能會出現錯誤。這會很影響你閱讀。你可以通過設置在`man`調用時設置`MANWIDTH`來修復。如Bash：

    ~/.bashrc

    man() {
        local width=$(tput cols)
        [ $width -gt $MANWIDTH ] && width=$MANWIDTH
        env MANWIDTH=$width \
        man "$@"
    }

## 閱讀本地man頁面

你可以通過以下軟體來查看man面：

- Emacs — The extensible and self-documenting editor can also be used to read man pages with the built-in M-x `man` command.

  https://www.gnu.org/software/emacs/ || emacs包

- GNOME Help — Help viewer for GNOME. Part of gnome包組. It can show man pages via `yelp man:<name>` or the undocumented `Ctrl+L` keybinding from an existing window.

  https://apps.gnome.org/Yelp/ || yelp包

- KHelpCenter — Application to show KDE Applications' documentation. Part of kde-system包組. Man pages are in UNIX manual pages or by running `khelpcenter man:<name>`.

  https://apps.kde.org/khelpcenter/ || khelpcenter包

- Konqueror — KDE file manager and web browser. It can show man pages via `man:<name>`.

  https://konqueror.org/ || konqueror包

- neovim — The editor can be used to read man pages using the built-in `:Man name` command, or configured as a man pager with `export MANPAGER='nvim +Man!'`. Supports highlighting and navigation between command-line flags, keywords, and other man pages. Automatically generates an outline using section headers, command-line flags, and keywords as entries (available via `gO`).

  https://neovim.io/ || neovim包

- xman — Provides a categorized look at man pages.

  https://xorg.freedesktop.org/ || xorg-xman包

使用如 lynx包 and firefox包 等瀏覽器來查看man頁面可以使用戶獲得如閱讀`info`頁面的超連結優勢，你可以使用以下替代方案：

### 轉換為 HTML

#### mandoc

安裝 mandoc包來轉換頁面，如 `free(1)`:

    $ mandoc -Thtml -Ostyle=style.css /usr/share/man/man1/free.1.gz > free.html

然後在你的瀏覽器中打開`free.html`

### man2html

首先，安裝軟體包man2html包。

然後使用它轉換man手冊頁：

    $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html

此外，`man2html`還可以把man頁轉換為便於列印的文本文件：

    $ man free | man2html -bare > ~/free.txt

### man -H

man-db包提供的man也具有瀏覽器閱讀功能：

    $ man -H free

由`BROWSER`環境變量決定使用的瀏覽器。也可以使用 `man -Hlynx`（H後無空格）這樣的形式手動設置瀏覽器。

#### roffit

安裝 roffitAUR。

轉化一個man頁面：

    $ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html

### 轉換為 PDF

man pages 是可以列印的，遵循 troff(1) 格式，本來就是一種列印設置語言。因此，你可以很容易地通過groff將man頁面轉換為輸出設備支持的任意格式，這也被man-db包 所使用。通過groff(1) (如果你使用mandoc包，請使用mandoc(1)）的`-T`選項來列出所有輸出設備。

如下命令將會為你導出PDF文件：

$ man -Tpdf ''manpage'' > ''filename''

注意，這裡只能使用Times字體的硬編碼大小，一些man頁面是特地為終端查看而設計的，並且不會在PDF或PS格式中正確被渲染。

### Qman

這是一個提供查看man頁面的界面的替代軟體，它支持像超連結和歷史記錄等現代的功能，安裝qman-gitAUR。然後你可以使用`qman`來代替`man`了：

    $ qman ls    # 显示ls的man页面
    $ qman -k ls # 'ls'上执行apropos命令

查看這個項目的 GitHub頁面以了解更多

### 可選配置

Qman 的配置文件在 `~/.config/qman.conf` (用戶的) or `/etc/xdg/qman.conf` (全局的).

如果你正在使用一個支持256色和Unicode的現代終端，你可能想要使用一個自定義配置來為這個軟體提供一個更現代化的界面

默認的Qman是通過`xdg-open`來打開超連結和電子郵件連結。你可以通過在你的配置文件中添加如下行來更改：

    [misc]
    browser_path=/path/to/your/browser
    mailer_path=/path/to/your/email/client

### 使用在線手冊頁

警告：一些發行版與Arch Linux不同的man頁面，這可能是補丁後或過時版本的頁面

許多網站提供在線man手冊頁，詳細列表參見：

- Arch Linux manual pages—contains man pages from Arch Linux packages. Used for man page links from the wiki. You can also use the `!archman` bang with search engines like DuckDuckGo or Brave to search through the Arch manual pages directly.
- man7.org—The Linux man-pages project. Upstream of the man-pages包 package. The online pages currently show an outdated version of man-pages (5.13, released in 2021).
- manned.org—collection from various Linux distributions, BSD, etc., with multiple package versions
- linux.die.net
- man.cx—Man pages extracted from Debian testing.
- Debian man pages
- Ubuntu man pages
- DragonFlyBSD man pages
- FreeBSD man pages
- NetBSD man pages
- OpenBSD man pages
- Plan 9 Manual — Volume 1
- Inferno Manual — Volume 1
- The UNIX and Linux forums man page repository

注意， man-pages包提供的是POSIX.1-2017 (見[2])的man頁面，一個官方的在線參考也存在於：

## 值得注意的man頁面

這列舉了一些可能幫助你更深度理解很多事情的頁面，但這並不是很詳盡。它們中的一些可能給你一個很好的參考（如ASCII表）

- ascii(7)
- boot(7)
- charsets(7)
- chmod(1)
- credentials(7)
- fstab(5)
- file-hierarchy(7)
- systemd(1)
- locale(1p), locale(5), locale(7)
- printf(3)
- proc(5)
- regex(7)
- signal(7)
- term(5), term(7)
- termcap(5)
- terminfo(5)
- utf-8(7)

你也可以看：category 7 (miscellaneous) pages:

    $ man -s 7 -k ".*"

Arch Linux 的特定頁面：

- alpm-hooks(5)
- libalpm(3)
- makepkg(8)
- makepkg.conf(5)
- makepkg-template(1)
- mkinitcpio(8)
- pacman(8)
- pacman.conf(5)
- pacman-conf(8)
- pacman-key(8)

這篇文章的某些內容需要擴充。

原因：Add a section on writing man pages, including conversion tools like pandoc-cli包, ruby-ronn-ng包, asciidoc包, help2man包, go-md2man包, txt2man包, scdoc包, info2manAUR, pod2manAUR, ruby-md2manAUR, etc. (在 Talk:Man 手冊 中討論)
分類：​

- 命令行

man 手册
新增話題