前言
Linux常用命令中,有些命令可以帮助我们查找二进制文件,帮助手册或源文件的位置,也有的命令可以帮助我们查找磁盘上的任意文件,今天我们就来看看这些命令如何使用。
witch
witch命令会在PATH变量指定的路径中,搜索某个系统命令的位置。例如:
which -a which #查看命令which所在位置,-a参数表示找出所有
/usr/bin/which
/bin/which
PATH变量有哪些内容呢?我们来看一下(不同电脑可能不同):
echo $PATH
/home/hyb/bin:/home/hyb/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
PATH环境变量存放着一些路径信息,例如/usr/bin,当你在shell终端敲入一个命令,但是在PATH中包含的路径下没有时并且也不是内置命令时,就会提示:command not found。
当你已经安装了一个命令,但是使用时却提示找不到该命令,可以查看该环境变量,是否有你安装命令的路径。
所以是不是明白了为什么有些命令或程序需要添加环境变量才能直接使用了吧?
whereis
whereis命令用于搜索程序的二进制文件,源代码文件或帮助文档。例如:
whereis ls #如果上述三者有,则三者都会显示。
ls: /bin/ls /usr/share/man/man1/ls.1.gz
whereis -m ls #只查看ls的帮助手册
ls: /usr/share/man/man1/ls.1.gz
whereis -b ls #只查找ls的二进制文件
ls: /bin/ls
whereis stdio.h #查找stdio.h头文件,和帮助手册
stdio: /usr/include/stdio.h /usr/share/man/man3/stdio.3.gz
同样地,它不能查找到内置命令。
type
type用于查看命令类型,一般有以下类型:
alias:别名
keyword:关键字
builtin:内置命令
file:外部命令
而常见参数如下:
-t 输出类型名,如file
-p 如果是外部命令,则显示其所在路径
-a 对于外部命令,它会显示命令路径,命令类型等信息
我们来看几个例子:
ty