Відповіді:
Якщо ви перебуваєте на Bash (або іншій оболонці Борна), ви можете використовувати type.
type command
підкаже, чи commandє вбудована оболонка, псевдонім (і якщо так, то псевдонім, що), функція (і якщо так, то вона перелічить тіло функції) чи зберігається у файлі (і якщо так, шлях до файлу) .
Для отримання додаткової інформації про "двійковий" файл ви можете це зробити
file "$(type -P command)" 2>/dev/null
Це нічого не поверне, якщо commandвбудований псевдонім, функція або оболонка, але повертає більше інформації, якщо це сценарій або скомпільований двійковий файл.
Список літератури
В ЗШ ви можете перевірити aliases, functionsі commandsмасиви.
(( ${+aliases[foo]} )) && print 'foo is an alias'
(( ${+functions[foo]} )) && print 'foo is a function'
(( ${+commands[foo]} )) && print 'foo is an external command'
Там також builtinsдля вбудованих команд.
(( ${+builtins[foo]} )) && print 'foo is a builtin command'