CentOS软件安装目录查找

分类:CentOS教程 阅读:55323 次

注:一般的软件的默认安装目录在/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命令就查询到位置了。