[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

whatis【コマンド】

pointこの用語のポイント

pointUNIX系で使えるコマンドだよ

pointマニュアルの情報を表示するよ

pointwhatisデータベースの中を検索するよ

point完全一致検索だよ

point説明部分は検索対象外だよ

スポンサーリンク

簡単に書くよ

whatis【コマンド】とは

マニュアル(「man」コマンドで表示されるやつ)に関する情報を表示するときに使うコマンド
であり

指定キーワードでwhatisデータベースの中身を「単語単位の完全一致で」検索するときに使うコマンド
です。

image piyo

詳しく書くよ

「whatis」コマンドコマンドライン上から「man」コマンドで表示されるマニュアルの情報を表示するときに使うコマンドです。
UNIX系(LinuxとかMacとか)で使えます。

書き方は

whatis [オプション] [キーワード]

です。
オプションは、あれやこれやとあります。

オプション説明
-dデバッグメッセージを表示する
Print debugging information.
--debugデバッグメッセージを表示する
Print debugging information.
-v詳細な警告メッセージを表示する
Print verbose warning messages.
--verbose詳細な警告メッセージを表示する
Print verbose warning messages.
-rキーワードを正規表現として扱う
Interpret each name as a regular expression. If a name matches any part of a page name, a match will be made. This option causes whatis to be somewhat slower due to the nature of database searches.
--regexキーワードを正規表現として扱う
Interpret each name as a regular expression. If a name matches any part of a page name, a match will be made. This option causes whatis to be somewhat slower due to the nature of database searches.
-wワイルドカードを使えるようにする
Interpret each name as a pattern containing shell style wildcards. For a match to be made, an expanded name must match the entire page name. This option causes whatis to be somewhat slower due to the nature of database searches.
--wildcardワイルドカードを使えるようにする
Interpret each name as a pattern containing shell style wildcards. For a match to be made, an expanded name must match the entire page name. This option causes whatis to be somewhat slower due to the nature of database searches.
-l1行に収まらない場合も省略しない(改行して全部表示する)
Do not trim output to the terminal width. Normally, output will be truncated to the terminal width to avoid ugly results from poorly-written NAME sections.
--long1行に収まらない場合も省略しない(改行して全部表示する)
Do not trim output to the terminal width. Normally, output will be truncated to the terminal width to avoid ugly results from poorly-written NAME sections.
-s 【セクションリスト】指定されたセクションのみ検索対象とする
Search only the given manual sections. list is a colon- or comma-separated list of sections. If an entry in list is a simple section, for example "3", then the displayed list of descriptions will include pages in sections "3", "3perl", "3x", and so on; while if an entry in list has an extension, for example "3perl", then the list will only include pages in that exact part of the manual section.
--sections 【セクションリスト】指定されたセクションのみ検索対象とする
Search only the given manual sections. list is a colon- or comma-separated list of sections. If an entry in list is a simple section, for example "3", then the displayed list of descriptions will include pages in sections "3", "3perl", "3x", and so on; while if an entry in list has an extension, for example "3perl", then the list will only include pages in that exact part of the manual section.
----section 【セクションリスト】指定されたセクションのみ検索対象とする
Search only the given manual sections. list is a colon- or comma-separated list of sections. If an entry in list is a simple section, for example "3", then the displayed list of descriptions will include pages in sections "3", "3perl", "3x", and so on; while if an entry in list has an extension, for example "3perl", then the list will only include pages in that exact part of the manual section.
-m 【システム】うんちゃら
If this system has access to other operating system's manual page names, they can be accessed using this option. To search NewOS's manual page names, use the option -m NewOS. The system specified can be a combination of comma delimited operating system names. To include a search of the native operating system's manual page names, include the system name man in the argument string. This option will override the $SYSTEM environment variable.
--systems=【システム】かんちゃら
If this system has access to other operating system's manual page names, they can be accessed using this option. To search NewOS's manual page names, use the option -m NewOS. The system specified can be a combination of comma delimited operating system names. To include a search of the native operating system's manual page names, include the system name man in the argument string. This option will override the $SYSTEM environment variable.
-M 【パス】パスを指定してうんちゃら
Specify an alternate set of colon-delimited manual page hierarchies to search. By default, whatis uses the $MANPATH environment variable, unless it is empty or unset, in which case it will determine an appropriate manpath based on your $PATH environment variable. This option overrides the contents of $MANPATH.
-manpath= 【パス】パスを指定してかんちゃら
Specify an alternate set of colon-delimited manual page hierarchies to search. By default, whatis uses the $MANPATH environment variable, unless it is empty or unset, in which case it will determine an appropriate manpath based on your $PATH environment variable. This option overrides the contents of $MANPATH.
-L【ロケール】ロケールを指定してうんちゃら
whatis will normally determine your current locale by a call to the C function setlocale(3) which interrogates various environment variables, possibly including $LC_MESSAGES and $LANG. To temporarily override the determined value, use this option to supply a locale string directly to whatis. Note that it will not take effect until the search for pages actually begins. Output such as the help message will always be displayed in the initially determined locale.
--locale=【ロケール】ロケールを指定してかんちゃら
whatis will normally determine your current locale by a call to the C function setlocale(3) which interrogates various environment variables, possibly including $LC_MESSAGES and $LANG. To temporarily override the determined value, use this option to supply a locale string directly to whatis. Note that it will not take effect until the search for pages actually begins. Output such as the help message will always be displayed in the initially determined locale.
-C【ファイル】指定した設定ファイルを使用する
UUse this user configuration file rather than the default of ~/.manpath.
--config-file=【ファイル】指定した設定ファイルを使用する
Use this user configuration file rather than the default of ~/.manpath.
-?ヘルプを表示する
Print a help message and exit.
--helpヘルプを表示する
Print a help message and exit.
--usage簡易ヘルプを表示する
Print a short usage message and exit.
-Vバージョン情報を表示する
Display version information.
--versionバージョン情報を表示する
Display version information.

などですね。

UNIX系のコンピュータの中には(作っていれば)「whatisデータベース」と呼ばれるデータベースがあります。
whatisデータベースの中には、マニュアルの目次やキーワードなどが収められています。
言わば、マニュアル用の索引です。

「whatis」コマンドは、このwhatisデータベースの中身を検索するコマンドです。
例えば、私の環境で

whatis cron

を実行すると、以下の結果が表示されました。

cron (8)             - daemon to execute scheduled commands

「cron」をキーワードにして、whatisデータベースの中身が検索され、その結果が表示されています。
cron」についての簡単な説明が書いてありますよね。

これが「whatis」コマンドの基本的な使い方です。
オプションは、必要に応じて、情報を補完してください。

ちなみに「whatis」コマンドと同じようなコマンドに「apropos」があります。
「whatis」コマンドと「apropos」コマンドの違いは、検索が完全一致検索部分一致かの違いです。

「whatis」コマンドは単語単位の完全一致検索です。
例えば

whatis cron

を実行すると、以下の結果が表示されます。

cron (8)             - daemon to execute scheduled commands

「cron」に関する内容が検索されました。

それに対して「apropos」コマンドは部分一致検索です。
例えば

apropos cron

を実行すると、以下の結果が表示されます。

anacrontab (5)       - configuration file for Anacron
anacron (8)          - runs commands periodically
cron (8)             - daemon to execute scheduled commands
crond (8)            - daemon to execute scheduled commands
crontab (1)          - maintains crontab files for individual users
crontab (5)          - files used to schedule the execution of programs
crontabs (4)         - configuration and scripts for running periodical jobs


こちらは「cron」に関する説明はもちろん、それ以外に

anacrontab
anacron
crond
crontab
crontabs


に関する内容も表示されています。

あと、これは試した限りの推測ですが「whatis」コマンドは、説明部分が検索対象になりません。
それに対して「apropos」コマンドは、説明部分も検索対象になります。

例えば

whatis users

を実行すると、以下の結果が表示されます。

users (1)            - print the user names of users currently logged in to the current host

それに対して

apropos users

を実行すると、以下の結果が表示されます。

newusers (8)         - ユーザの新規作成や情報更新をバッチ処理で行う
applygnupgdefaults (8) - Run gpgconf - apply-defaults for all users.
arpd (8)             - userspace arp daemon.
console.perms (5)    - permissions control file for users at the system console

(以下略)


「applygnupgdefaults」の説明や「console.perms」の説明にも「users」という単語が出てきています。
ですが「whatis」コマンドの表示対象にはなりませんでした。

これらのことから

■「whatis」コマンド
 ・単語単位の完全一致検索
 ・説明部分は検索対象外

■「apropos」コマンド
 ・部分一致検索
 ・説明部分も検索対象


と理解しています。

image piyo2

一言でまとめるよ

まぁ「whatis」ってコマンドが出てきたら「マニュアルの情報を表示するときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク