1.which
which命令查找出相關(guān)命令是否已經(jīng)在搜索路徑中,例子如下:
$whichgcc//顯示出GNC的C編譯器安裝在哪個(gè)目錄
返回結(jié)果為:
/usr/bin/gcc
注意:如果which沒有找到要找的命令,可以試試whereis,該命令搜索更大的范圍的系統(tǒng)目錄。有些系統(tǒng)上的which命令不顯示用戶沒有執(zhí)行權(quán)限的文件。例如
$whichipppd
/usr/bin/which:noipppdin(/bin:/usr/bin:/sbin:/usr/sbin)
$whereisipppd
ipppd:/usr/sbin/ipppd
$ls-l/usr/sbin/ipppd
-rwx------1rootroot124924Feb32000/usr/sbin/ipppd
2.locate
locate命令用于查找文件,它比find命令的搜索速度快,它需要一個(gè)數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)由每天的例行工作(crontab)程序來建立。當(dāng)我們建立好這個(gè)數(shù)據(jù)庫(kù)后,就可以方便地來搜尋所需文件了。
即先運(yùn)行:updatedb(無論在那個(gè)目錄中均可,可以放在crontab中)后在/var/lib/slocate/下生成slocate.db數(shù)據(jù)庫(kù)即可快速查找。在命令提示符下直接執(zhí)行#updatedb命令即可。
$locatesignal.h
/usr/include/asm/signal.h
/usr/include/linux/signal.h
/usr/include/signal.h
/usr/include/sys/signal.h
3.rpm
如果用戶知道自己要查找到軟件包的名字,可以直接使用下面的命令。這個(gè)命令只在支持rpm的linux版本上有效,如redhat,centos,fedora和suse等。
$rpm-qpython//查找檢查系統(tǒng)是否安裝了python</p><p>python-1.5.2-27
或者:$rpm-qa|greppython//這是兩個(gè)命令的結(jié)合
rpm的其他用法:
rpm-qa(列出所有安裝了的包)
rpm-epackage(刪除某個(gè)包)
rpm-qipackage(查詢某個(gè)包)
rpm-qfcommand(根據(jù)程序查詢包的名字)
rpm-qlpackage(查詢某個(gè)包所有的安裝文件)
4.yum
yum的參數(shù)很多,以下是用于查找軟件包的命令。但是也只支持特定的發(fā)型版本,centos下最常用的命令
$yumlist//列出所指定的軟件包,后可以加上你想查找的軟件包的名字
$yumlistinstalled//列出所有已安裝的軟件包
$yuminfoinstalled//列出所有已安裝的軟件包信息
5.whereis
whereis是查找文件或者命令的所在目錄
#whereispwd//查找pwd命令所在的目錄
6.find
這個(gè)命令可用來查找系統(tǒng)是否安裝了指定的軟件包,更重要的是也可以查找自己對(duì)軟件包名稱記憶不是很清晰的軟件包。而且我想是這是所有l(wèi)inux和unix都支持的。find的查找范圍很廣,功能強(qiáng)大,再搭配用正則表達(dá),效果很好,不過建議盡量縮小搜索范圍,減少系統(tǒng)壓力,畢竟,當(dāng)系統(tǒng)文件多了,搜索耗費(fèi)時(shí)間和資源的。
$find/-name"python"http://從根目錄開始查找包含”python“這個(gè)字符的文件和文件夾。
find的詳細(xì)使用有如下例子:
#find.-maxdepth1-name*.jpg-print-execconvert在當(dāng)前目錄下查找,查找深度為一,查找以.jpg結(jié)尾文件,并將其轉(zhuǎn)化
#find/-name*.rpm-execchmod755'{}'\;搜索以'.rpm'結(jié)尾的文件并定義其權(quán)限
#find/-namefile1從'/'開始進(jìn)入根文件系統(tǒng)搜索文件和目錄
#find/-perm-u+s羅列一個(gè)系統(tǒng)中所有使用了SUID控制的文件
#find/-useruser1搜索屬于用戶'user1'的文件和目錄
#find/-xdev-name\*.rpm搜索以'.rpm'結(jié)尾的文件,忽略光驅(qū)、捷盤等可移動(dòng)設(shè)備
#find/home/user1-name'*.txt'|xargscp-av--target-directory=/home/backup/--parents從一個(gè)目錄查找并復(fù)制所有以'.txt'結(jié)尾的文件到另一個(gè)目錄
#find/home/user1-name\*.bin在目錄'/home/user1'中搜索帶有'.bin'結(jié)尾的文件
#find/usr/bin-typef-atime+100搜索在過去100天內(nèi)未被使用過的執(zhí)行文件
#find/usr/bin-typef-mtime-10搜索在10天內(nèi)被創(chuàng)建或者修改過的文件
#find/var/log-name'*.log'|tarcv--files-from=-|bzip2>log.tar.bz2查找所有以'.log'結(jié)尾的文件并做成一個(gè)bzip包