linux命令之which

  which这个命令可以说并不常用,它的作用是查看可执行文件的位置,并返回第一个搜索结果。可执行文件也就是指的某个系统命令,但是这个命令的位置必须是在PATH路径里存在的。截图中 ,pwd的位置在/bin/pwd,当然,这个路径是在PATH中配置的,不同用户配置的PATH变量不同,查找出的位置也会不同。那么,既然which是查找系统命令的命令,那么它也是可以查找到自己的,which which,但这里返回的并不和pwd相同,这是因为which命令还有别名,即输入which命令就等于输入后面那一串命令。

最后,我which的是cd命令,返回的大概意思是“:在PATH路径下找不到cd命令,这是为什么呢?原因就是cd命令是bash内建的命令,不在PATH路径下,which当然找不到了。

这里有两个问题,Linux下的PATH路径如何查看、修改?bash内建命令是什么意思?

首先,PATH路径的查看可以这样来实现:echo $PATH;而修改路径,可以修改/etc/profile,在文档最后,添加export PATH="/opt/***/bin:$PATH",保存后退出,加载变量source /etc/profile,添加完成。

其次,bash内建命令与系统命令是相对的,也就是一个是内部命令,一个是外部命令而已。内建命令是shell程序的一部分,在Linux启动的时候就已经加载到内存中去了,写在bashy源码的内建命令,执行起来要比外部命令快的多。查看命令是内建命令还是系统命令,使用type,即type cd

posted @ 2017-02-23 21:32  灵蟒  阅读(812)  评论(0编辑  收藏  举报