Linuxコマンドについて調べている過程で、ひとつ疑問に感じたことがありました。 それは、whereisとwhichの違いです。
なお同じく似通ったコマンドとしてwhatisもあり、さらに混同します。 どうやら、次の違いがあるとのことです。
- which:コマンドのパスを表示するコマンド
- whereis:コマンドのパスや、ソース、マニュアルのパスを表示するコマンド
- whatis:コマンドのマニュアルを検索するコマンド(完全一致)
- apropos:コマンドのマニュアルを検索するコマンド(部分一致)
- man:コマンドのマニュアルを表示するコマンド 参考: Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man | エス技研
結論として、whichは純粋にコマンドパスを表示するだけのコマンドです。 一方でwhereisは、ソースやマニュアルのパスも表示するため、高機能であることがわかりました。
まとめ
whereisのほうが、高機能であることがわかりました。 ちなみに、自分はコマンドのパスを知りたいケースがほとんどだったので、今後もwhichを使い続けて大丈夫そうです。
私は普段whichしか使ってこなかったので、LPICの勉強をしてなければ、whereisコマンドに出会うことがなかったかもしれません。