Linux type Command
typeis a built-in shell command in Linux/Unix systems, used to display type information about a specified command. It can tell you whether a command is:
- a built-in shell command
- an external executable program
- a shell function
- an alias
This command is very helpful for understanding how the system resolves and executes commands, especially when encountering command conflicts or wanting to know the origin of a command.
Basic syntax of the type command
type [选项] 命令名 [命令名...]
Description of common options
| Option | Description |
|---|---|
-t |
Display only command type (short output) |
-p |
If it's an external command, display its path |
-P |
Force lookup in PATH even if the command is a builtin |
-a |
Display all possible definitions (including alias, builtin, external, etc.) |
Output types of the type command
When usingtypethe command, you may see the following output types:
Alias
$ type ll ll is aliased to `ls -alF'
Built-in command (builtin)
$ type cd cd is a shell builtin
External command (file)
$ type python python is /usr/bin/python
Shell function
$ type myfunc
myfunc is a function
myfunc ()
{
echo "This is a function"
}
Keyword
$ type if if is a shell keyword
Practical application examples
Example 1: Check command type
$ type ls ls is aliased to `ls --color=auto'
Example 2: View all possible definitions
$ type -a echo echo is a shell builtin echo is /bin/echo
Example 3: Display only command type
$ type -t cd builtin
Example 4: Find external command path
$ type -p git /usr/bin/git
Practical scenarios for the type command
Debugging command conflicts
When multiple commands with the same name exist (such as a builtin command and an external command),typeit can help you determine which one is actually executed.Understanding command origin
When writing scripts or learning about the system, knowing whether a command is builtin or external helps understand its behavior and performance characteristics.Verifying whether a command exists
It can quickly check whether a command is available and its location.Learning the shell environment
By viewing the types of various commands, you can better understand how the shell works.
Notes
typeis a shell builtin command; implementations in different shells (bash, zsh, ksh, etc.) may vary slightly.- When using
-athe option, the output order usually reflects the command search order. - Some shells may not support all options; you can consult
help typeto get specific help.
Through these exercises, you will better mastertypethe practical application of the command.
Linux Command Encyclopedia