[linux] whatisコマンドの使い方 – コマンドを検索する

whatisコマンドは、指定したコマンドやプログラムの簡単な説明を表示するために使用されます。

manページの概要部分を表示するため、コマンドの概要を素早く確認したい場合に便利です。

使い方は、whatis コマンド名と入力するだけです。

例えば、whatis lsと入力すると、lsコマンドの簡単な説明が表示されます。

manページ全体を読む必要がない場合に役立ちます。

この記事でわかること
  • whatisコマンドの基本的な使い方
  • データベースの更新方法
  • 各種オプションの活用法
  • 複数コマンドの同時検索方法
  • スクリプト内での利用例

目次から探す

whatisコマンドとは

whatisコマンドは、LinuxやUnix系のシステムで使用されるコマンドの一つで、指定したコマンドやプログラムの簡単な説明を表示するためのツールです。

このコマンドを使うことで、特定のコマンドが何をするものなのかを素早く確認することができます。

例えば、whatis lsと入力すると、lsコマンドの説明が表示されます。

これにより、コマンドの詳細なマニュアルを読むことなく、基本的な機能を把握することが可能です。

whatisコマンドは、システムにインストールされているコマンドの情報をデータベースから取得して表示します。

このデータベースは、通常、manコマンドの情報を元に作成されており、コマンドの使用方法やオプションについての情報を簡潔に提供します。

特に、コマンドの概要を知りたいときに非常に便利です。

whatisコマンドの基本的な使い方

基本的な構文

whatisコマンドの基本的な構文は以下の通りです。

whatis [オプション] コマンド名

ここで、コマンド名には調べたいコマンドやプログラムの名前を指定します。

オプションを使用することで、出力形式を変更したり、検索方法をカスタマイズしたりすることができます。

コマンドの説明を表示する例

具体的なコマンドの説明を表示するには、以下のように入力します。

whatis ls

このコマンドを実行すると、lsコマンドの説明が表示されます。

例えば、以下のような出力が得られます。

ls (1)               - list directory contents

この出力は、lsコマンドが「ディレクトリの内容をリスト表示する」ものであることを示しています。

複数のコマンドを同時に検索する方法

複数のコマンドを同時に検索することも可能です。

コマンド名をスペースで区切って指定します。

例えば、以下のように入力します。

whatis ls pwd cd

このコマンドを実行すると、lspwdcdのそれぞれの説明が表示されます。

出力は次のようになります。

ls (1)               - list directory contents
pwd (1)              - print name of current/working directory
cd (1)               - change the shell working directory

このように、複数のコマンドの説明を一度に確認することができ、効率的に情報を得ることができます。

whatisデータベースの更新

データベースの役割

whatisコマンドは、コマンドやプログラムの説明を表示する際に、内部でデータベースを参照します。

このデータベースには、システムにインストールされているコマンドの名前とその簡単な説明が格納されています。

データベースが最新でない場合、whatisコマンドは正確な情報を提供できないため、定期的に更新することが重要です。

makewhatisコマンドの使用方法

makewhatisコマンドは、whatisデータベースを更新するためのツールです。

このコマンドを実行することで、システムにインストールされている全てのマニュアルページから情報を収集し、新しいデータベースを作成します。

使用方法は以下の通りです。

makewhatis

このコマンドを実行すると、システム内のマニュアルページをスキャンし、whatisデータベースを更新します。

通常、管理者権限が必要なため、sudoを使って実行することが一般的です。

sudo makewhatis

whatisデータベースが古い場合の対処法

whatisデータベースが古い場合、コマンドの説明が正確でないことがあります。

このような場合は、以下の手順で対処します。

  1. データベースの更新: makewhatisコマンドを使用してデータベースを更新します。
  2. 手動での確認: 特定のコマンドのマニュアルページを直接確認するために、manコマンドを使用します。

例えば、man lsと入力することで、lsコマンドの詳細な情報を得ることができます。

  1. システムの再起動: まれに、システムの再起動が必要な場合もあります。

特に、システムのアップデート後にデータベースが正しく更新されないことがあります。

これらの手順を実行することで、whatisコマンドの情報を最新の状態に保つことができます。

whatisコマンドのオプション

whatisコマンドには、出力形式や検索方法をカスタマイズするためのいくつかのオプションがあります。

以下に主要なオプションを紹介します。

-lオプション:長い形式での出力

-lオプションを使用すると、コマンドの説明を長い形式で表示することができます。

通常の短い説明に加えて、より詳細な情報が得られます。

使用例は以下の通りです。

whatis -l ls

このコマンドを実行すると、lsコマンドの詳細な説明が表示されます。

-wオプション:ワイルドカード検索

-wオプションを使用すると、ワイルドカードを使った検索が可能になります。

これにより、部分一致するコマンドを検索することができます。

例えば、以下のように入力します。

whatis -w 'l*'

このコマンドは、lで始まる全てのコマンドの説明を表示します。

-rオプション:正規表現を使った検索

-rオプションを使用すると、正規表現を使ってコマンドを検索することができます。

これにより、より柔軟な検索が可能になります。

例えば、以下のように入力します。

whatis -r '.*dir.*'

このコマンドは、dirを含む全てのコマンドの説明を表示します。

-vオプション:詳細な出力

-vオプションを使用すると、whatisコマンドの実行結果に関する詳細な情報が表示されます。

これにより、コマンドの実行状況やデータベースの状態を確認することができます。

使用例は以下の通りです。

whatis -v ls

このコマンドを実行すると、lsコマンドの説明に加えて、実行に関する詳細情報が表示されます。

これらのオプションを活用することで、whatisコマンドをより効果的に利用することができます。

応用例

whatisコマンドは、基本的な使い方だけでなく、さまざまな応用が可能です。

以下にいくつかの応用例を紹介します。

複数のコマンドを一度に検索する

whatisコマンドを使用して、複数のコマンドの説明を一度に取得することができます。

コマンド名をスペースで区切って指定するだけです。

例えば、以下のように入力します。

whatis ls pwd cd

このコマンドを実行すると、lspwdcdのそれぞれの説明が表示され、複数のコマンドの情報を効率的に確認できます。

正規表現を使った高度な検索

whatisコマンドの-rオプションを使用することで、正規表現を使った高度な検索が可能です。

例えば、特定のパターンに一致するコマンドを探す場合、以下のように入力します。

whatis -r '.*file.*'

このコマンドは、fileを含む全てのコマンドの説明を表示します。

これにより、特定の機能に関連するコマンドを簡単に見つけることができます。

whatisとaproposの組み合わせ

whatisコマンドとaproposコマンドを組み合わせることで、より広範囲な検索が可能になります。

aproposは、キーワードに関連する全てのコマンドを検索するためのコマンドです。

例えば、以下のように入力します。

apropos file

このコマンドを実行すると、fileに関連する全てのコマンドとその説明が表示されます。

whatisと併用することで、特定のコマンドの詳細をさらに深く理解することができます。

スクリプト内でのwhatisコマンドの活用

whatisコマンドは、シェルスクリプト内での利用も可能です。

例えば、特定のコマンドの説明を自動的に取得し、ログファイルに記録するスクリプトを作成することができます。

以下はその一例です。

#!/bin/bash
# コマンドの説明をログファイルに記録するスクリプト
commands=("ls" "pwd" "cd")
log_file="command_descriptions.log"
# ログファイルを初期化
echo "" > $log_file
for cmd in "${commands[@]}"; do
    echo "$cmd: $(whatis $cmd)" >> $log_file
done

このスクリプトを実行すると、指定したコマンドの説明がcommand_descriptions.logというファイルに記録されます。

これにより、コマンドの情報を簡単に管理することができます。

よくある質問

whatisコマンドが結果を返さないのはなぜ?

whatisコマンドが結果を返さない場合、いくつかの理由が考えられます。

主な原因は以下の通りです。

  • データベースが更新されていない: whatisコマンドは、内部のデータベースを参照して情報を表示します。

データベースが古い場合、コマンドの情報が存在しないことがあります。

  • 指定したコマンドが存在しない: 調べたいコマンドがシステムにインストールされていない場合、結果は返されません。
  • 誤ったコマンド名の入力: コマンド名を誤って入力した場合も、結果が得られません。

これらの点を確認し、必要に応じてデータベースの更新やコマンドの確認を行ってください。

whatisとmanの違いは何ですか?

whatismanは、どちらもコマンドに関する情報を提供するツールですが、役割は異なります。

  • whatis: 指定したコマンドの簡単な説明を表示します。

主にコマンドの概要を知りたいときに使用します。

  • man: 指定したコマンドの詳細なマニュアルページを表示します。

コマンドの使用方法、オプション、例など、より深い情報を得るために使用します。

例えば、whatis lslsコマンドの概要を表示しますが、man lsはその詳細な使い方を示します。

whatisデータベースを手動で更新する必要がありますか?

通常、whatisデータベースは自動的に更新されることが多いですが、手動で更新する必要がある場合もあります。

以下の状況で手動更新が推奨されます。

  • 新しいコマンドをインストールした後: 新たにインストールしたコマンドの情報がデータベースに反映されていない場合、手動で更新する必要があります。
  • システムのアップデート後: システム全体のアップデートを行った後、データベースが古くなることがあります。
  • 情報が不正確な場合: whatisコマンドが正しい情報を返さない場合、手動でデータベースを更新することで解決できることがあります。

手動で更新するには、makewhatisコマンドを使用します。

管理者権限が必要な場合が多いため、sudoを使って実行することが一般的です。

まとめ

この記事では、whatisコマンドの基本的な使い方やオプション、データベースの更新方法、さらには応用例について詳しく解説しました。

これにより、コマンドの概要を迅速に確認するためのツールとしてのwhatisの有用性が明らかになりました。

今後は、実際にwhatisコマンドを活用して、日常の作業やスクリプト作成に役立ててみてください。

  • URLをコピーしました!
目次から探す