I didnt get exact answer about Internal and External commands in Linux yet...
Perhaps you are coming from an MS-DOS context, in which there are internal and external commands - from a filesystem perspective, internal commands are understood directly by the shell - command.com - and in the case of linux, BASH/ksh/csh/your favorite shell. Internal commands are, for example, cd, dir/ls, copy, rename, del. External commands would be contained in their own executable - for DOS, external commands like more (a pager), xcopy (to copy hidden and system files), etc. which are all fairly standard but nonetheless external to the shell. In linux, there are several commandline utilities that are likewise considered standard but which are not part of the shell - grep, awk, and sed for text processing, for example, as well as editors like vim and emacs.
Unless you are building an embedded system and care about what files to delete to make your own small-disk-footprint linux, this sounds like a textbook question and answer to me, but I, too appreciate the theoretical explanation, so I offer you mine.