Linux - difference between internal and external commands

Linux - What is the difference between internal and external commands? - August 21, 2008 at 22:00 pm by Rajmeet Ghai

What is the difference between internal and external commands?

Internal commands are commands that are already loaded in the system. They can be executed any time and are independent. On the other hand, external commands are loaded when the user requests for them. Internal commands don’t require a separate process to execute them. External commands will have an individual process. Internal commands are a part of the shell while external commands require a Path. If the files for the command are not present in the path, the external command won’t execute.  

Linux - What is the difference between internal and external commands? - May 11, 2009 at 15:00 pm by Vidya Sagar

What is the difference between internal and external commands?

The commands that are directly executed by the shell are known as internal commands. No separate process is there to run these commands.

The commands that are executed by the kernel are knows as external commands. Each command has its unique process id.


Write your comment - Share Knowledge and Experience

Discussion Board
What is the difference between internal and external commands in linux?

Internal commands are the built in commands of the shell. Which means that when you execute an internal command, no process will be launched to execute the command. Therefore the speed of executing an internal command will be very high. Example – cd,pwd,echo etc.

External commands are those command which are stored as a separate binaries. Shell starts separate sub-process to execute them. Most external commands are stored in the form of binaries in /bin directory. To execute external command shell check $PATH variable . If command present in the location mentioned in $PATH variable shell will execute it , otherwise it will give error.
example – ls,mv,cat etc.

type utility can be used to check whether a command is internal or external.
if the command is internal, the output will say that the command is shell builtin. If the command is external, the output will give you the path to the command.

krish 04-25-2014 02:42 PM

Computer Sciences

nternal commands are the commands that are executed directly by the shell. These commands will not have a separate process running for each.External commands are the commands that are executed by the kernal. These commands will have a process id running for it.
Since ls is a program or file having an independent existence in the /bin directory or /user/bin, it is branded as an external command. Most commands are external in nature, but there are some which are not really found any where, and some which are normally not executed even if they are in one of the directories specified by PATH

Usama Jawaid 10-16-2012 11:58 AM


More Linux Resources

What is the file server in Linux server?

Answer - File server is used for file sharing. It enables the processes required fro sharing.......

What is NFS? What is its purpose?

Answer - NFS is Network File system. It is a file system used for sharing of files over a network.......

What does nslookup do? Explain its two modes.

Answer - Nslookup is used to find details related to a Domain name server. Details like IP addresses of a machine, MX records,......

Latest placement tests
Latest links
Latest MCQs
» General awareness - Banking » ASP.NET » PL/SQL » Mechanical Engineering
» IAS Prelims GS » Java » Programming Language » Electrical Engineering
» English » C++ » Software Engineering » Electronic Engineering
» Quantitative Aptitude » Oracle » English » Finance
Home | About us | Sitemap | Contact us