AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 409453
Accepted
Weijun Zhou
Weijun Zhou
Asked: 2017-12-08 03:42:11 +0800 CST2017-12-08 03:42:11 +0800 CST 2017-12-08 03:42:11 +0800 CST

手册页窗口中的可用命令在哪里记录,这些命令是否依赖于系统?

  • 772

使用Linux多年,突然发现自己不知道如何man正确使用命令。众所周知,可以键入q以退出手册页、/进行搜索等。但是,我不知道这些记录在哪里。我试过man man man -a man info man谷歌搜索,没有运气。

请指点我寻找此信息的正确位置,即使它在正确位置man man并且我碰巧忽略了它,也很好,请告诉我。

对于不同的操作系统或不同的 Linux 发行版,这些命令是否不同?

man
  • 4 4 个回答
  • 712 Views

4 个回答

  • Voted
  1. Best Answer
    JdeBP
    2017-12-08T04:16:23+08:002017-12-08T04:16:23+08:00

    它确实在 的手册页中man,在“控制格式化输出”子标题下,稍后在“环境”部分重复,以获得良好的效果:

    默认情况下,人使用pager -s.
    手册页解释了环境变量的层次结构和用于覆盖默认值的命令行选项( PAGER、MANPAGER和)。--pager

    这就是它在 Debian Linux 等系统上的读取方式。相比之下,在 Oracle Linux 等系统上,该man-db软件包是使用不同的默认值构建的,但它仍然反映在手册页的相同位置:

    默认情况下,人使用less -s.

    该man-db包尝试在编译时自动检测要内置到命令中的默认寻呼机,并在其手册页中记录,out of less,more和pager.

    在 Debian Linux 等系统上,该pager命令是“替代”系统的一部分,可以映射到几个实际命令之一:

    jdebp % update-alternatives --list 寻呼机
    /bin/更少
    /bin/更多
    /usr/bin/pg
    /usr/bin/w3m
    jdebp %

    因此,请查阅他们各自的手册页,了解如何从键盘驱动它们,根据选择的替代方案。有用的是,Debian 替代系统使手册页与所选命令保持同步,因此阅读此手册页非常简单:

    手册页

    • 11
  2. PiedPiper
    2017-12-08T03:55:50+08:002017-12-08T03:55:50+08:00

    人使用寻呼机来显示内容。

    具体细节取决于man您使用的版本。

    对于许多系统上使用的版本:

    • 如果-p pager给出该选项,则使用该寻呼机。
    • 否则,如果MANPAGER设置了环境变量,则使用它。
    • 否则如果PAGER设置了它就被使用。
    • 否则默认使用/usr/bin/less

    如果手册页是 HTML 格式,则BROWSER使用MANPAGER/PAGER

    Debian 使用man-db不同的默认值。

    阅读man man详情

    • 5
  3. Weijun Zhou
    2017-12-08T03:55:43+08:002017-12-08T03:55:43+08:00

    感谢@Rastapopoulos,我在“环境”部分的旧 Linux 机器(版本:1.6f)上找到了与lessin相关的一行,其中指出,man manman

    BROWSER用于显示 HTML 手册页的浏览器的名称。如果未设置,/usr/bin/less则使用。

    但是在较新的盒子(man版本:2.6.3)上,该行已被替换为

    BROWSER 如果设置了 $BROWSER,它的值是一个以冒号分隔的命令列表,每个命令依次用于尝试为 man --html 启动 Web 浏览器。在每个命令中,%s 被替换为一个文件?包含来自 groff 的 HTML 输出的名称,%% 替换为单个百分号 (%),%c 替换为冒号 (:)。

    基于这些信息,我相信它是less默认格式化的(至少对于第一种情况)。但是,即使是这种情况,它的记录方式对我来说似乎也不清楚(或者我man以错误的方式学习了命令)。

    • 2
  4. Andrew Henle
    2017-12-08T04:45:21+08:002017-12-08T04:45:21+08:00

    对于各种操作系统,没有真正的方法可以完全回答您的问题,因为man实现并没有真正完全指定。

    POSIX 标准、非 Linux 特定的答案可以在POSIXman文档中找到:

    姓名

    man - display system documentation
    

    概要

    man [-k] name...
    

    ...

    环境变量

    以下环境变量会影响 man 的执行:

    朗

    为未设置或为空的国际化变量提供默认值。(有关用于确定语言环境类别值的国际化变量的优先级,请参阅 XBD 国际化变量。)

    LC_ALL

    如果设置为非空字符串值,则覆盖所有其他国际化变量的值。

    LC_CTYPE

    确定将文本数据字节序列解释为字符的语言环境(例如,在参数和摘要数据库中,单字节字符与多字节字符相对)。LC_CTYPE 的值不需要影响写入的有关名称操作数的信息的格式。

    LC_MESSAGES

    确定应该用于影响写入标准错误的诊断消息和写入标准输出的信息性消息的格式和内容的语言环境。

    NLSPATH

    确定用于处理 LC_MESSAGES 的消息目录的位置。

    寻呼机

    确定用于将输出写入终端的输出过滤命令。任何可接受作为 命令的 command_string 操作数的字符串都应有效。当标准输出是终端设备时,参考页输出应通过命令进行管道传输。如果 PAGER 变量为空或未设置,则该命令应是系统文档中记录的任何一个或另一个分页器实用程序。sh-cmore

    请注意 RATIONALE 部分,描述了为什么man没有如此完整地指定:

    基本原理

    众所周知,man 实用程序仅具有指定的最小用处。对于需要人工提供多少信息或多少信息,标准开发人员的意见存在很大分歧。然而,他们认为提供一些可移植的访问文档的方式将有助于用户的可移植性。反对更完整规范的论点是:

    • 在没有多余磁盘空间的系统上不需要大量文档。

    • 当前的手动系统没有以极大地帮助用户便携性的方式呈现信息。

    • “更好的帮助系统”目前是供应商认为他们可以为其 POSIX 实现增加价值的领域。

    考虑了 -f 选项,但由于实施差异,它没有包含在本卷 POSIX.1-2008 中。

    描述已更改为更具体地说明必须为实用程序显示的内容。标准开发人员认为仅显示概要而不简要说明每个选项和操作数的作用是不够的。

    包含在数据库中的“目的”条目可以类似于本卷 POSIX.1-2008 中每个实用程序的部分标题(减去数字前缀)。这些标题与历史系统中用于此目的的标题相似。

    有关默认分页器的基本原理,请参阅mailx。

    添加了 LC_CTYPE 描述中的警告,因为不需要实现为每个系统上的所有受支持的语言环境提供参考页面;更改 LC_CTYPE 并不一定会将参考页面翻译成另一种语言。这相当于 POSIX.1-2008-locale-specific 消息中的 LC_MESSAGES 的当前状态还不是必需的。

    历史 MANPATH 变量不包含在 POSIX 中,因为没有尝试指定参考页面文件的命名约定,甚至也没有强制要求它们是文件。在某些实现中,它们可能是真正的数据库、超文本文件,甚至是 man 可执行文件中的固定字符串。标准开发人员认为参考页面的可移植性超出了他们的工作范围。但是,用户应该知道 MANPATH 已在许多历史系统上实现,并且当系统管理员时,它可用于定制各种类别(实用程序、功能、文件格式等)的参考页面的搜索模式揭示了系统上参考页面的位置和约定。

    ...

    来自mailx 页面的分页器基本原理讨论:

    当 PAGER 为 null 或未设置时选择的分页器部分未指定,以允许 System V 历史实践使用 pg 作为默认值。绕过分页功能,例如通过声明 cat 是分页器,将不符合此描述的预期含义。但是,任何“便携式用户”都必须明确设置 PAGER 才能在所有系统上获得他或她的首选分页器。分页器选择部分未指定,与 VISUAL 编辑器选择(强制为 vi)不同,因为大多数历史分页器遵循用户输入的共同主题,而编辑器差异很大。

    • 2

相关问题

  • 将手册页导出到 postscript

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    JSON数组使用jq来bash变量

    • 4 个回答
  • Marko Smith

    日期可以为 GMT 时区格式化当前时间吗?[复制]

    • 2 个回答
  • Marko Smith

    bash + 通过 bash 脚本从文件中读取变量和值

    • 4 个回答
  • Marko Smith

    如何复制目录并在同一命令中重命名它?

    • 4 个回答
  • Marko Smith

    ssh 连接。X11 连接因身份验证错误而被拒绝

    • 3 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Marko Smith

    systemctl 命令在 RHEL 6 中不起作用

    • 3 个回答
  • Marko Smith

    rsync 端口 22 和 873 使用

    • 2 个回答
  • Marko Smith

    以 100% 的利用率捕捉 /dev/loop -- 没有可用空间

    • 1 个回答
  • Marko Smith

    jq 打印子对象中所有的键和值

    • 2 个回答
  • Martin Hope
    EHerman JSON数组使用jq来bash变量 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux 日期可以为 GMT 时区格式化当前时间吗?[复制] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC 如何复制目录并在同一命令中重命名它? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve “root”用户的文件权限如何工作? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe 将默认编辑器更改为 vim for _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey 如何下载软件包而不是使用 apt-get 命令安装它? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao 为什么目录 /home、/usr、/var 等都具有相同的 inode 编号 (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg —list-keys 命令在将私钥导入全新安装后输出 uid [未知] 2017-11-26 18:26:02 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve