makewhatis、mandbコマンドでLinuxのオンラインマニュアル索引情報を更新
2020/06/05
makewhatis、mandbコマンドでwhatisデータベースを更新
Linuxのコマンドのオンラインマニュアルの whatisデータベース
Linuxのコマンドには、オンラインマニュアルが用意されています。
そのマニュアルを検索するコマンドには「whatis」「apropos」「man -f」「man -k」があります。
「whatis」「man -f」が、完全一致で検索を行い、
「apropos」「man -k」が、部分一致で検索を行います。
これらのコマンドで検索をする際に検索対象にするのが「whatisデータベース」と呼ばれる「オンラインマニュアルの検索データベース」です。
そして、この「whatisデータベース」を作成、更新するコマンドが、「makewhatis」「mandb」となります。
「makewhatis」の方が古くからあるコマンドですが、最近の RHEL(Red Hat Enterprise Linux)や CentOS7などでは「makewhatis」がなくなり「mandb」コマンドに置き換えられています。
今後は「makewhatis」は「mandb」に置き換わっていくものと思われます。
また、オンラインマニュアルを検索するコマンドは、「whatis」「apropos」「man -f」「man -k」がありますが、これらはすべて「whatisデータベース」を対象に検索を実行しています。
新しくコマンドをインストールした場合は、「makewhatis」「mandb」を実行し、「whatisデータベース」を更新します。
「whatis」「apropos」「man -f」「man -k」コマンドについての解説は書きの記事を参考にしてください。
Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man
また、「man」コマンドについては下記の記事を参考にしてください。
Linuxのマニュアルページ表示コマンドmanの解説
makewhatisコマンド、mandbコマンドの基本形
基本形は以下になります。
1 |
# makewhatis |
1 |
# mandb |
「makewhatis」「mandb」のいずれもパラメータなしでコマンドのみで実行することで、デフォルトの設定に従い、「whatisデータベース」を更新します。
(「whatisデータベース」がない場合は新規作成をします。)
また、これらのコマンドは root権限で実行する必要があります。
1 2 3 4 5 6 7 8 |
# mandb /usr/share/man 内の古いデータベース要素を取り除いています... /usr/share/man 配下のマニュアルページを処理しています... /usr/share/man/fr 内の古いデータベース要素を取り除いています... /usr/share/man/fr 配下のマニュアルページを処理しています... : : 以下略 |
上記の通り、「mandb」と入力すると、マニュアルがあるフォルダをチェックし、「whatisデータベース」を更新します。
「whatisデータベース」の更新は 1、2秒程度で終了します。
makewhatisコマンドのオプション
「makewhatis」コマンドには下記のオプションがあります。
オプション | 説明 |
---|---|
-u | 新しいページの内容で whatisデータベースを更新する |
-v | 詳細メッセージを表示する |
-w | manpathとして「man –path」の値を使う |
オプションは用意されていますが、通常の利用ではオプションを使うことはありません。
mandbコマンドのオプション
「mandb」コマンドには下記のオプションがあります。
オプション | 説明 |
---|---|
-d、–debug | デバッグ情報を表示する |
-q、–quiet | 実行中のメッセージを非表示にする |
-c、–create | whatisデータベースを最初から作り直す。データベースが破損したとき、仕様が変わったときなどに使用する。 |
-t、–test | 実行のテストを行う。実際に実行はしない。 |
-f、–filename | 指定したファイルだけ更新する。一般的には使用しない。 |
-c、–config-file= | 指定したファイルを設定ファイルとして使用する |
-V、–version | バージョンを表示する |
オプションは用意されていますが、通常の利用ではオプションを使うことはありません。
あえてあるとすれば、「whatisデータベース」が壊れたときに「-c」オプションを使うくらいでしょうか。
mandbコマンドの設定情報
mandbコマンドの設定情報は、「/etc/man_db.conf」にあります。
この設定ファイルの中に、mandbコマンドを実行したときに探しに行くオンラインマニュアルのファイルの場所などが記載されています。
whatisデータベースに関連するコマンド
最後に、whatisデータベースに関連するコマンドをご紹介します。
すでに紹介したものも含まれていますが。
コマンド | 説明 |
---|---|
accessdb | whatisデータベースの内容をダンプとして出力します。 |
apropos | オンラインマニュアルを検索します。 |
catman | 表示用のマニュアルページを生成、更新します。 |
lexgrog | 指定されたコマンドの 1行サマリー情報を表示します。 |
man | 指定されたコマンドのマニュアルページを表示します。 |
mandb | whatisデータベースを生成、更新します。 |
manpath | $MANPATH の内容を表示します。$MANPATH がない場合は、man.confなどを元に検索のパスを表示します。 |
whatis | オンラインマニュアルを検索します。 |
zsoelim | ファイルの内容を読み込み、.so file形式の記述行を変更します。 |
「whatis」「apropos」コマンドについての解説は書きの記事を参考にしてください。
Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man
また、「man」コマンドについては下記の記事を参考にしてください。
Linuxのマニュアルページ表示コマンドmanの解説
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man
Linuxのコマンドの実行ファイルやマニュアルの情報を確認するコマンドwhich、whereis、whatis、apropos、manの機能と使い方、似たところと違うところの紹介。
-
Linuxのbashのコマンドの履歴をhistoryで確認し!、↓、↑で実行する
Linuxで実行したコマンドの履歴を確認するコマンド「history」。「history」の使い方、設定の変更、設定ファイルの設置場所について解説。「!番号」「!文字列」「!?文字列」など。
-
Linuxのマニュアルページ表示コマンドmanの解説
Linuxにはコマンド操作のオンラインマニュアルが用意されています。そのマニュアルを表示するコマンドが「man」です。「man」コマンドの使い方について解説します。
-
Linuxでファイルの内容を表示するcatコマンドの解説。more、lessで代替も
catはLinuxのコマンドで、本来の機能はファイルを連結だが、ファイルの内容を表示する機能のために使うことが多く使用頻度が高い。同種の機能のmore、less、tacコマンドについても解説。
-
Linuxのheadコマンドは先頭行から、tailコマンドは最終行から指定した行を表示する
Linuxのhead、tailコマンドはファイルの先頭の一部、もしくは、末行の一部を表示するコマンド。行数や文字数で指定をする。tailはログを監視するためのオプションがある。
-
Linuxで使用される主な環境変数・PATH、HOME、PS1・printenv、set、declare
Linuxに設定されている主な環境変数の解説。PWD、HOSTNAME、USER、LANG、HOME、LOGNAME、PS1、PS2、HISTSIZE、HISTFILE、HISTFILESIZE、TERMなどがある。
-
Linuxのnlは行番号を付与してファイルの内容を表示するコマンド
Linuxでファイルを表示する際に行番号を付与するにはcatコマンドにnオプションを使うことでも可能。しかし、行番号を付与する専門のnlコマンドがある。ここではその使い方を詳細に解説。
-
Linuxのsplitコマンドは指定したサイズにファイルを分割する
Linuxのsplitコマンドはファイルを分割する機能を有する。分割するサイズ、行数、ファイル数を指定するオプションや、分割後のファイルの接尾辞を指定するオプションなどがある。
-
Linuxのファイル表示・結合catの逆処理のtac、revコマンドの解説
Linuxにtac、revというコマンドがある。catの逆の処理なのだが、tacは最終行から逆に表示し、revは行末の文字から逆に表示をすることを解説しつつその使い方について詳しく解説をする。
-
Linuxの環境変数でパスの設定をする方法とシェル変数の扱い方を解説
Linuxでコマンドを設置するパスの設定情報である環境変数「PATH」の確認方法と環境変数「PATH」に新しいパスを追加する方法の解説。Linuxのシェルでの変数の扱い方についての解説も。