コマンド which はどこにあるのでしょう --
which which
を実行してください。
シェルに入っているコマンド
(shell built-in command)
と表示されますね。
このように,コマンドと同名のファイルではなく,
シェルが内部に持っているコマンド(シェル組み込みコマンド)もあります。
例えば,ログアウトするために使っている
exit というコマンドは,
正確には現在使っているシェルを終了するためのシェル組み込みコマンドです。
exit でログアウトできるのは,
ログインシェルを終了するとログアウトするからです
6。
シェル組み込みコマンドは,コマンド検索パスの設定にかかわらず,
コマンド名で実行できます。
また,実行の優先順位は,
コマンド名と同名のファイルとして存在するコマンドより高いです
7。
シェル組み込みコマンドのマニュアルは,
シェルのマニュアルに記載されています8。