2

3.5Linux下搜寻可执行文件的位置——which命令

Posted by 撒得一地 on 2016年1月22日 in Linux教程

我们知道,linux有许多命令,当我们执行命令时,其实是运行相对应的二进制文件。每个命令,其本质就是一个可运行的二进制文件。那么,如何快速的找到一个常用命令的位置,比如,ls这个命令放在哪里呢?

这时就可以使用which或type命令来查找。

which参数及使用方法

[root@lmode ~]# which [-a] command

选项或参数:
-a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称

which命令是是根据PATH这个环境变量所规范的路径,去搜寻可运行命令的具体存放位置。要注意的是,which后面接的是完整的命令名,如果加上-a选项,则可以找到该二进制文件所有的存放路径,否则,which默认是显示一个(最先找到的路径)。下面列举几个例子。

例子1:找到ls命令位置

[root@lmode /]# which ls
alias ls='ls --color=auto'
    /bin/ls

从上面的运行结果可以看到,ls命令的二进制文件的完整路径在:/bin/ls下。alias的意思是重命名,也就是说你运行ls时,其实完整的运行命令是:ls –color=auto,就是说自动显示终端的字体颜色。

例子2:

[root@lmode /]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    /usr/bin/which

例子3:

root@lmode /]# which cd
/usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/apache/bin:/root/bin)

上面的例子竟然没找到cd这个命令,这是因为cd是bash内建的命令。而which 默认是找 PATH 内所规范的目录,这个目录下的命令相当于额外安装的命令,也可以说是一些拓展命令。我们可以用type命令来查看下cd命令:

[root@lmode /]# type cd
cd is a shell builtin

标签:

上一篇:

下一篇:

相关推荐

2 Comments

Comments are closed. Would you like to contact the author directly?
网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.