typeコマンドを使用してcat、シェルが組み込みか外部プログラムかを調べると、以下の出力が得られます。
-$ type cat
cat is hashed (/bin/cat)
-$
catこれは外部プログラムであることを意味し/bin/catますか?
私が混乱したのは、以下の出力を確認したときにecho、それがbuilt-inプログラムであることがわかったからです/bin/echo
-$ type echo
echo is a shell builtin
-$ which echo
/bin/echo
-$
したがって/bin/cat、エコーは/bin/echo組み込みであるため、必ずしも外部プログラムを意味するロジックを使用できませんでした。
だから私はどのように私が知ってcatいますか?組み込みまたは外部?
type which答えwhichを出せない理由
catとlsは、ストールマン自身によって書かれました。彼が書いたものがどれだけあるかに驚くでしょう。彼が今日すべてとすべてのコアutilsをコンパイルする世界で最高のコンパイラであるコンパイラの最初のバージョンを書いたことを忘れないでください。Just sayin '