Когда я использую 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будут / были написаны самим Столлмана. Вы будете удивлены, сколько вещей он написал. Не забывайте, что он написал первые версии компилятора, который на сегодняшний день является лучшим в мире компилятором, который компилирует ВСЕ и большинство основных утилит. Просто говорю