今天看到了type命令觉得和which命令很像,所以想着学习记录一下。回想起之前使用which命令的时候,当查看cd命令,history命令的时候,会出现这句话
[root@localhost ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
表示此命令是bash自带的即是内部命令,不是外部命令,如何证明这个结果,之前不知道怎么做不过学习了type命令就明白了。
type [-tpa] name
当没有选项参数的时候,type会列出此命令是内部命令还是外部命令
-t:表示会显示一下几个标识
file:表示此命令是外部命令
alias:表示此命令是为别名
builtin:表示此命令是内部命令
-p:后面接外部命令式才会显示,命令的路径
-a:会列出PATH变量含name的命令都列出来,包括alias
下面来看看一些例子:
例子一:
查看cd命令是内部命令还是外部命令:
[root@localhost ~]# type cd
cd 是 shell 内嵌
[root@localhost ~]# which cd
/usr/bin/cd
[root@localhost ~]# type -a cd
cd 是 shell 内嵌
cd 是 /usr/bin/cd
[root@localhost ~]# type -t cd
builtin
从显示的结果中可以看到cd命令式内部命令,并且在PATH中/usr/bin/cd目录下有一个与cd同名的命令
例子二:
查看mkdir命令的相关信息:
[root@localhost ~]# type mkdir
mkdir 是 /usr/bin/mkdir
[root@localhost ~]# type -t mkdir
file
[root@localhost ~]# type -a mkdir
mkdir 是 /usr/bin/mkdir
[root@localhost ~]# type -p mkdir
/usr/bin/mkdir
总结:type命令的作用和which命令差不多,可以把type命令当做与which命令功能相同的命令使用。
文笔有限,才疏学浅,文中若有不正之处,万望告知,相互学习共同进步。
2024 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123