> CentOS > CentOS运维 >

CentOS软件安装目录查找

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




(责任编辑:IT)