注:一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找.
指令名称:whereis
功能介绍:在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
语法格式:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
常用参数说明:
-b 只查找二进制文件。
-B <目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M <目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S <目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
应用:#whereis 软件名 -->查看软件安装路径
#which 软件名 -->软件软件的运行路径
首先要确定是通过包管理器安装的还是通过源代码安装的。
一、通过rpm包管理器安装的软件:
1、rpm包
可以用命令:
#rpm –ql 包名 如 rpm -ql gcc 来查看gcc的文件都安装到哪里去了
#rpm -qa | grep 包名 来查看有没有安装这个包 ,
#rpm -qa 查看全部已经安装的包名
2、deb包
可以用命令:
#dpkg -L 包名 查看如 dpkg -L gcc 来查看gcc的文件。
#dpkg -l | grep 包名 来查看有没有安装某个包 ,
# dpkg -l 是查看全部包的
二、通过源代码安装的软件:
1、如果是通过源代码安装的话 ,在源代码的configure的时候会有参数让你指定安装目录,具体体现在Makefile文件的install目标(也可能会是*install* 目标,*代表任意字符)里。例如如下Makefile文件的install目标:
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo
$$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed
's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
是一个脚本,把可执行文件复制到$bindir这个变量所代表的目录下,在Makefile前面的代码中这个变量会有定义,在我这里是定义了
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
也就是 /usr/local/bin下面。
2、最后,如果已经安装好的,也可以直接调用,要看它的路径很好搞定
例如我用gcc这个命令,我要看gcc这个命令的目录位置,可以用如下命令查询
[wade@mycentos ~]$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
一个whereis命令就查询到位置了。