このすみ技術ろぐ

とあるWebエンジニアが、技術や趣味について書くブログです。

Linuxコマンドにおけるwhereisとwhichの違い

Linuxコマンドについて調べている過程で、ひとつ疑問に感じたことがありました。 それは、whereisとwhichの違いです。

なお同じく似通ったコマンドとしてwhatisもあり、さらに混同します。 どうやら、次の違いがあるとのことです。

  • which:コマンドのパスを表示するコマンド
  • whereis:コマンドのパスや、ソース、マニュアルのパスを表示するコマンド
  • whatis:コマンドのマニュアルを検索するコマンド(完全一致)
  • apropos:コマンドのマニュアルを検索するコマンド(部分一致)
  • man:コマンドのマニュアルを表示するコマンド 参考: Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man | エス技研

結論として、whichは純粋にコマンドパスを表示するだけのコマンドです。 一方でwhereisは、ソースやマニュアルのパスも表示するため、高機能であることがわかりました。

まとめ

whereisのほうが、高機能であることがわかりました。 ちなみに、自分はコマンドのパスを知りたいケースがほとんどだったので、今後もwhichを使い続けて大丈夫そうです。

私は普段whichしか使ってこなかったので、LPICの勉強をしてなければ、whereisコマンドに出会うことがなかったかもしれません。