type命令用来显示指定命令的类型。一个命令的类型可以是如下几种:
- alias 别名
- keyword 关键字,Shell保留字
- function 函数,Shell函数
- builtin 内建命令,Shell内建命令
- file 文件,磁盘文件,外部命令
- unfound 没有找到
它是Linux系统的一种自省机制,知道了是哪种类型,我们就可以针对性的获取帮助。比如:
内建命令可以用help命令来获取帮助,外部命令用man或者info来获取帮助。
常用参数
type命令的基本使用方式就是直接跟上命令名字。
type -a可以显示所有可能的类型,比如有些命令如pwd是shell内建命令,也可以是外部命令。
type -p只返回外部命令的信息,相当于which命令。
type -f只返回shell函数的信息。
type -t 只返回指定类型的信息。
举个栗子
常用参数举例:
02 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a time
|
03 |
time is a shell keyword
|
06 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -p time
|
08 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -f time
|
09 |
time is a shell keyword
|
11 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -t time
|
备注:
上面time命令的类型有两个,一个是shell保留字,一个是外部命令,那我们查看帮助的方式可以是
01 |
bixiaopeng@bixiaopengtekiMacBook-Pro androidshell$ man time
|
04 |
time -- time command execution
|
10 |
The time utility executes and times utility. After the utility finishes,
|
11 |
time writes the total time elapsed, the time consumed by system overhead,
|
12 |
and the time used to execute utility to the standard error stream. Times
|
13 |
are reported in seconds.
|
18 |
ile: *manpages*, Node: time, Up: (dir)
|
21 |
bixiaopeng@bixiaopengtekiMacBook-Pro androidshell$ info time
|
23 |
TIME(1) BSD General Commands Manual TIME(1) |
26 |
time -- time command execution
|
32 |
The time utility executes and times utility. After the utility finishes,
|
33 |
time writes the total time elapsed, the time consumed by system overhead,
|
34 |
and the time used to execute utility to the standard error stream. Times
|
35 |
-----Info:(*manpages*)time,53 行 --Top-------------------------------------
|
36 |
欢迎使用 Info 4.8 版。输入 ? 以获得帮助,m 将得到菜单。 |
常用命令举例:
01 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a ls
|
03 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a who
|
05 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a cd
|
08 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a which
|
09 |
which is /usr/bin/which
|
10 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a mvn
|
11 |
mvn is /usr/share/java/maven-3.0.3/bin/mvn
|
13 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a adb
|
14 |
adb is /Users/bixiaopeng/DevelopSoft/adt-bundle-mac/sdk/platform-tools/adb
|
15 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type -a aapt
|
16 |
aapt is /usr/local/bin/aapt
|
18 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type grep
|
19 |
grep is aliased to `grep --color=always'
|
20 |
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ type awk
|