which命令

原文:http://www.jb51.net/LINUXjishu/151045.html

原文:https://blog.csdn.net/huanhuanq1209/article/details/72673365

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which   查看可执行文件的位置。

whereis  查看文件的位置。

locate   配合数据库查看文件位置。

find    实际搜寻硬盘查询文件名称。

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

1.命令格式:

which 可执行文件名称

2.命令功能:

which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

3.命令参数:

-n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p  与-n参数相同,但此处的包括了文件的路径。

-w  指定输出时栏位的宽度。

-V  显示版本信息

4.使用实例:

实例1:查找文件、显示命令路径

命令:

which lsmod

输出:

[root@localhost ~]# which pwd
/bin/pwd
[root@localhost ~]# which adduser
/usr/sbin/adduser
[root@localhost ~]#

说明:

which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!

实例2:用 which 去找出 which

命令:

which which

输出:

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

说明:

竟然会有两个 which ,其中一个是 alias 这就是所谓的『命令别名』,意思是输入 which 会等於后面接的那串命令!

实例3:找出 cd 这个命令

命令:

which cd

说明:

cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的!

Linux which命令的使用方法

功能简述which命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置并且返回第一个搜索结果。也就是说使用which命令就可以看到某个系统命令是否存在以及执行的到底是哪一个位置的命令。如果你想知道你的命令放在那里了那么可以用which去查找一下。当然你需要注意的是它是在PATH指定的路径中普通用户和超级用户的PATH是不一样的(在没做修改的情况

语法which 可执行文件名称

参数

-n 指定文件名长度指定的长度必须大于或等于所有文件中最长的文件名。

-p 与-n参数相同但此处的包括了文件的路径。

-a 将PATH目录中可以找到指令均列出不止第一个而已。

-w 指定输出时栏位的宽度。

-V 显示版本信息

使用实例

查找普通个命令路径

[atong@LiWenTong tmp]$ which pwd

/bin/pwd

查找有别名的命令时会列出具体的别名信息

[atong@LiWenTong tmp]$ which ls

alias ls='ls --color=tty'

/bin/ls

查找命令不在普通用户的PATH中如ifconfig命令

[atong@LiWenTong tmp]$ which ifconfig

/usr/bin/which: no ifconfig in(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/atong/bin)

Bash内建命令无法查找到如cd命令

[atong@LiWenTong tmp]$ which cd

/usr/bin/which: no cd in(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:

 python www.iplaypy.com

《普通用户的PATH》

用户的PATH和root的PATH不同。如果希望相同那么需要编辑用户的家目录下的bash_profile文件太能加上/user/local/sbin:/sbin:/user/sbin

------------------------------后续自我小结-----------------------------

which命令这里的介绍就是查找命令在什么地方如果没有这个命令which就找不到咯。还有一个就是我们找的就是PATH里面存放的路径这个参数在/etc/profile文件里面有这个是全局所有用户的每个用户还有自己的文件哎呀一时忘记了。在~家目录里面的.profile文件里面吧。

一些我们自己安装的软件的命令路径我们也可以并入到PATH路径里面这样我们自己安装的软件的命令也能够被找到而且能够不加上全路径直接执行呢。

-----------------------------------------------------------------------

Linux which命令参数及用法详解---Linux 查找文件命令

Linux下的文件查找——type whereis which find locate 

RHCE_RHEL6_135 U4.0 查找和处理文件which&locate&find 

原文地址:https://www.cnblogs.com/tan-y-q/p/10799813.html