Internal commands, such as cd, are build into the shell. The shell interprets the cd command and changes your current directory accordingly. External commands are just external programs. Example of an external command is ls, which is stored in the file /bin/ls.
A build-in command or a command containing an absolute pathname starting with /,
is executed by shell directly. Say, /bin/ls executes the program called ls located in
the directory bin. If the command is neither build-in,
nor specified by an absolute pathname, shell looks in its search path first.