如何检查手册页中命令的单个参数?


12

示例:我正在使用 tar -zxvf命令,但是我不知道“ x”代表什么。

如何在不滚动的情况下检查该单个参数man tar


请在superuser.com上检查此[thread] [1]。[1]:superuser.com/questions/441654/...
埃纳尔

Answers:


17

搜索

x是为extract

你是里面的人后,键入/-xenter要搜索有关-x参数,资料
n跳到下一个-x比赛,和N前一

用正则表达式搜索

对于较大的手册页或常用术语,可以使用一些正则表达式来缩小搜索范围。

如果只需要主条目,则可以使用/^ *-x删除大多数无关的匹配项。
这是可行的,因为大多数手册页都以带有空格缩进的条目进行格式化。

  • ^ * 匹配行首,零到多个空格。
  • -x 是搜索字符串。

7

您还grep可以通过某些上下文将其从手册页中删除:

man tar | grep -C5 -- '-x\b'

5

这在带有Bash的RHEL6中有效

.bashrc

function mans {
       man $1 | less -p "^ +$2"
}

启动一个新的bash实例

$ bash

现在

mans ls -l

具有预期的效果。


2

如果使用Emacs M-x man RET tar,则C-s -x

C-s反复点击直到到达正确的位置,然后点击回车。

C-r是一样的,但是倒退了。(但是两者都会在文档的顶部/底部产生双重打击。)

同样,在这种情况下(手册页搜索),区分大小写的搜索是可取的。检查case-fold-search变量。

使用编辑器查看手册页的巨大优势在于,您非常了解所有命令-导航,复制,您想做的所有事情,已经知道如何做。


0

我知道这是一个有点老的问题,因此很抱歉要恢复,但是我已经编写了可以使用的简单shell脚本:

function manopt() {
    mn=`man -P cat $1`
    for i in ${@:2}
    do
        echo $mn |  grep --color=always -A5 "^ *$i" | sed -En '/^$/q;p'
    done
}

使用它作为示例:

➜ manopt ls -l -a
       -l     use a long listing format
       -a, --all
              do not ignore entries starting with .

请注意,您可以根据需要选择任意数量的参数,但它们必须是有效的参数(并在该行的开头)。


0

通常,我只是使用,man(1)至少使用您喜欢的寻呼机来显示格式化的页面more(1),并且在(相当严格的)联机帮助页格式标志-x中描述了-x,因此快速搜索可以快速将其归零。

如果if是GNU程序(或至少一个带有info文档的程序),则信息查看器(如内置的init emacs(1)或独立的pinfo(1))是一种浏览必填Invoking部分的简便方法,其中包含有关如何调用该程序的详细信息。同样,搜索可用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.