利用可能なすべてのマニュアルページのリスト


回答:


44

つかいます:

apropos .

または:

man -k .

where .は、「任意の文字」を意味する正規表現です。


3
また便利です:apropos -s 1 .たとえば、セクション1(ユーザーコマンド)に制限します。
追って通知があるまで一時停止します。

bashとzshが補完を提供する方法を調べることをお勧めしますが、これははるかに簡単です(ただし、すべてのシステムがの​​引数として正規表現を受け入れるわけではないため、移植性は低くなりますapropos)。
ジル「SO-悪であるのをやめる」

どちらも私にとってはcygwinで動作しません
Wyatt8740

9
$ man -k . -s <section-NR>

たとえば、すべてのセクション2ページを表示するには:

$ man -k . -s 2

man 2 -k '.'もうまくいくと思っていました。しかし、そうではありません
アンクールアガルワル14

もう一度試してみて、上に示したように、オプション-k後にセクションを指定...
アーロン

この答えは間違いなくもっと便利です
Lucius Hu

セクション番号を指定してもうまくいきません。
オレゴントレイル

3

私のお気に入りは次のとおりです。

whatis -r .

...そして、特定のセクションのすべてのマニュアルページ表示するだけの場合は、-sフラグを使用します。

たとえば、すべての実行可能コマンド(セクション1)のすべてのmanページのリストを取得したい場合:

whatis -s 1 -r .

2
# Shell script to list pathname of all available man pages  
mandirs="\`man -w | sed 's/:/ /g'\`"  
find $mandirs -type f  

これにより、「man -w」によって生成されるmanディレクトリのリストを使用して、すべてのmanファイルのリストが生成されますが、cYrusのany-character-regexソリューションははるかに優れています。名前:

apropos . | awk '{print $1}'

または

man -k . | awk '{print $1}'

1
そうすれば、manセクションが失われ、複製が作成されます。スルー後者パイプ用sort -u
cYrus

@cYrusまたは単に変更してman -k . | awk '{print $1,$2}'セクションを維持する
-villapx

0

にリストされているパスを見て、必要に応じ/etc/man.configFHSor FSSTNDディレクティブによって追加された追加のディレクトリを探します。


その後?MANPATH変数からパスを読み取る方が良いと思います。しかし、非常に多くのサブディレクトリがあり、1やgzなどのさまざまなファイル拡張子が含まれているため、ひどいです。ところで、多くのシステムでは、/ etcにはman.config持っていない
psihodelia

1
@psihodelia:私のシステムではそれがだ/etc/manpath.config$MANPATHnullです。
追って通知があるまで一時停止します。

0

macOSでは、次を使用できます

man -k .

または

apropos .

または

whatis .

しかし、MacOSの上、man -kaproposおよびwhatisコマンドは、セクションによるフィルタリングをサポートしていません。

そのため、次のパイプラインを使用してそれを行うことができます

man -k . | grep \(1\) | less

1任意の手動セクションに置き換えることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.