Linux中which命令是用于查找文件。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
which [文件...]
$ which aaa
得到返回: /bin/aaa
which命令的搜索路径是根据环境变量的PATH变量去读取的,因此,如果PATH中没有,则会报无法找到的错误,如下所示
[linuxdaxue.com@/home/linuxdaxue.com]$whichinflux/usr/bin/which: no influx in
(/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/linuxdaxue.com/bin)
$whichll
alias ll='ls -l --color=auto'
得到返回:/bin/ls
众所周知,Linux中是不提供 ll 这个命令的,一般来说,这个命令是 ls –l 的别名,使用which命令则会显示出其别名信息。
$whichcd/usr/bin/which: no cd in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/linuxdaxue.com/bin)
像 cd 命令这种bash内建命令,which命令是搜索不到的,因为使用 which cd 会报错误信息。
n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息。
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了
查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里
查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命
令是否存在,以及执行的到底是哪一个位置的命令。