В дополнение к правильным ответам, которые уже даны: если вы запускаете bash и хотите узнать, что такое «команда», такая как cd, вы можете использовать type
$ type cd
cd is a shell builtin
или почему нет:
$ type time
time is a shell keyword
в то время как, например, время GNU обычно включено в ваш любимый дистрибутив:
$ which time
/usr/bin/time
Ладно, ладно, ты понял, тогда какого черта это тип?
$ type type
type is a shell builtin
Вот фрагмент руководства bash:
type [-aftpP] name [name ...]
With no options, indicate how each name would be interpreted if used as a
command name. If the -t option is used, type prints a string which is one of
alias, keyword, function, builtin, or file if name is an alias, shell
reserved word, function, builtin, or disk file, respectively. If the name is
not found, then nothing is printed, and an exit status of false is returned.
If the -p option is used, type either returns the name of the disk file that
would be executed if name were specified as a command name, or nothing if
‘‘type -t name’’ would not return file. The -P option forces a PATH search
for each name, even if ‘‘type -t name’’ would not return file. If a command
is hashed, -p and -P print the hashed value, not necessarily the file that
appears first in PATH. If the -a option is used, type prints all of the
places that contain an executable named name. This includes aliases and
functions, if and only if the -p option is not also used. The table of
hashed commands is not consulted when using -a. The -f option suppresses
shell function lookup, as with the command builtin. type returns true if any
of the arguments are found, false if none are found.