All Linux commands must fall into one of these following four categories:
- An executable program: Which is usually written in the C programming language. The cp command is an example of an executable command.
- An alias: Which is basically another name for a command (or a group of commands).
- A shell builtin: The shell supports internal commands as well. The exit and cd commands are two examples of a shell builtin command.
- A shell function: These are functions that help us achieve a specific task and are essential in writing shell scripts. We will cover this in more detail later, for now, just know they exist.