Linux每天学习一个命令之type命令

今天看到了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命令功能相同的命令使用。
文笔有限,才疏学浅,文中若有不正之处,万望告知,相互学习共同进步。

猜你喜欢

转载自blog.csdn.net/zp_00000/article/details/51308408
今日推荐