---
# System prepended metadata

title: 'which ,whereis, whatis コマンド'

---

# which ,whereis, whatis コマンド

　[参考記事](https://blog.s-giken.net/448.html)
 
- which：コマンドのパスを表示するコマンド
- whereis：コマンドのパスや、ソース、マニュアルのパスを表示するコマンド
　
- whatis：コマンドのマニュアルを検索するコマンド（完全一致）
- apropos：コマンドのマニュアルを検索するコマンド（部分一致）
　
- man：コマンドのマニュアルを表示するコマンド

### which command

> -a	「which」コマンドには「-a」というオプションがあり、指定したコマンドが実行可能なすべてのパスを表示します。エイリアスがある場合は、エイリアスも表示します。

このように、`which`で期待する結果が得られなかったときは、optionをつけて探索してみるのも手である。

### 　whereis command
> 指定したコマンドのバイナリ、ソース、マニュアルページなどコマンド関連のファイルのパスを表示するコマンドです。
> 前項の「which」とよく似ていますが、「whereis」の方が高機能でコマンドのパスを調べることもできますし、ソースやマニュアルの場所も調べることができます。

このHackMDを書いた理由でもあるコマンド
先日環境構築で困っているときに救ってくれたコマンドである。`which`で上手く行かないときは、`whereis`をコマンドラインに打とうを格言にしたほうがよい


whereis commandのオプション一覧は以下

| option | discription |
| -------- | -------- |
| -l    | 検索対象のディレクトリの一覧を表示します。        |
| -b    | バイナリファイルの情報のみ表示します。           |
| -m    |	マニュアルページの情報のみ表示します。        |
| -s    |	ソースファイルの情報のみ表示します。          |
| -B    |	バイナリファイルを検索するディレクトリを指定します。 |
| -M    |	マニュアルファイルを検索するディレクトリを指定します。   |
| -S    |	ソースファイルを検索するディレクトリを指定します。   |
| -f    |	-B、-M、-Sオプションを指定する際に指定するディレクトリの終了を表す記号として指定します    |
	


### whatis command

>指定したコマンドをマニュアルから検索するコマンドです。
　
「which」「whereis」は、コマンドのパスを調べるコマンドでしたが、「whatis」はマニュアルページのデータベースから該当のコマンドを検索するコマンドです。
　
また、次項の「apropos」コマンドも同じくマニュアルページを検索するコマンドですが、「whatis」は完全一致で検索するコマンドで、「apropos」は部分一致で検索するコマンドです。

### 最後に

正直参考文献のページを読んでもらえば、インフラ担当ではなければ困らない程度の知識はつく（Lead Engineerは別だけどね）
