“apropos *” 和 “apropos ” 之间的区别

“apropos *” 和 “apropos ” 之间的区别

OpenSUSE 12.01,KDE,内核 3.1.9-1.4-default

尝试获取所有手册页。基本上答案是apropos .man -k .。为什么apropos \*只返回大约 300 个手册页,而 却apropos .返回近 60,000 个手册页,而且用时少得多?我知道前者正在执行搜索和比较操作,因此速度较慢,而后者只是输出它找到的内容。但是,为什么\*变成了搜索操作,而.(也是正则表达式)变成了列表操作?

附言:显然我必须打字\\\*才能得到\*,有趣。

答案1

首先,在终端中尝试以下命令:

echo *
echo \*
echo '*'

未加引号/未转义的星号将在apropos获取之前被扩展,因此将执行与当前目录中的文件数量相同的搜索。

apropos '*'是无效的正则表达式搜索;您需要apropos '.*'(“匹配任何字符 0 次或更多次”),但这将给出与 相同的结果apropos .

相关内容