This is a very important distinction. File commands are covered more in Section 3. If that confuses you even more, let me explain. When you type something in at your unix prompt, a program running from the time you login until you logout, called the ' shell ' interprets what you type in, determines whether it can perform your command, and if not, passes it onto the operating system. If your commands cannot be found in the shell or are not accessible from the operating system or file system, you will receive an error message.
Some commands are internal to the shell and others are external.
If you have ever used DOS, or other command line operating systems, you have used the DOS shell without being aware of it. It begins running when you boot up your DOS system and continues to run as long as DOS is running. Programs internal to the DOS shell are copy , dir , and cd . There are many shell offerings in unix - sh , csh , tcsh , ksh , and bash to name a few. Some of its key features are filename expansion, command line history and editing.