注:一般的軟件的默認安裝目錄在/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命令就查詢到位置了。