在linux中,我們經(jīng)常需要查找某些文件,以及文件所在目錄等。那么我們需要用到一些基本的文件查找類命令。
10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有江南免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。文件查找命令主要有以下幾個(gè):
·which 查看命令或可執(zhí)行文件的完整路徑
·whereis 顯示二進(jìn)制文件路徑、使用手冊(cè)文件路徑、源碼文件路徑
·locate 配合數(shù)據(jù)庫(kù)查看文件路徑
·find 搜索硬盤查詢特定文件
·which
which命令的作用,在指定的PATH路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一搜索結(jié)果。可以查看某個(gè)系統(tǒng)命令是否存在,且命令所在的源文件位置。
·命令格式:
which [options] [--] programname [...]
·選項(xiàng)參數(shù):
-a:將所有PATH目錄中可以找到的命令均列出,而不止第一被找到的命令名稱
--skip-alias:忽略別名
例1:分別用root和普通用戶搜索useradd命令的完整路徑
root用戶可以找到ifconfig的完整路徑
我們發(fā)現(xiàn)普通用戶提示找不到useradd命令。
因?yàn)閣hich命令是根據(jù)用戶所設(shè)定的PATH變量?jī)?nèi)的目錄去搜索命令的。
所以,不同的PATH設(shè)定內(nèi)容找到的命令當(dāng)然不一樣!
例2:用which查找which本身會(huì)發(fā)生什么?
有兩個(gè)which,其中一個(gè)alias which是命令別名,等于后面的那一串命令+參數(shù)
我們可以通過(guò)追加選項(xiàng)--skip-alias來(lái)忽略別名,如下圖所示
例3:查找cd命令的完整路徑
找不到cd命令的完整路徑,證明cd命令所在的目錄,PATH中并沒(méi)有定義
·whereis
whereis命令可顯示二進(jìn)制程序文件路徑、使用手冊(cè)文件路徑、源碼文件路徑
·命令格式:
whereis [-bmsu] [-BMS directory... -f] filename...
·選項(xiàng)參數(shù):
-b:僅搜索二進(jìn)制程序文件的路徑(常用)
例如:
注意,普通用戶通過(guò)which命令找不到adduser,而whereis卻可以找到!
這是因?yàn)橄到y(tǒng)本身存在adduser這個(gè)文件,which命令找不到是因?yàn)镻ATH命令沒(méi)有加入指定目錄
所以,當(dāng)你找不到某些命令式,不妨向用文件搜索命令找找看。
-m:僅搜索使用手冊(cè)文件路徑(常用)
例如:
-s:僅搜索源代碼路徑
-u:搜索默認(rèn)路徑下除以上3種路徑以外的其他文件路徑
-B:指定搜索可執(zhí)行文件的路徑。
-M:指定搜索幫助文件的路徑。
-S:指定搜索源代碼文件的路徑。
·locate
locate命令可以在搜索數(shù)據(jù)庫(kù)時(shí)快速找到指定的文件。數(shù)據(jù)庫(kù)由updatedb命令來(lái)更新,updatedb是由cron daemon周期性建立的。locate命令在搜索數(shù)據(jù)庫(kù)時(shí)比由整個(gè)硬盤來(lái)搜索文件來(lái)的快,但是有一個(gè)缺點(diǎn),locate命令無(wú)法搜索到最近或更名的文件,需要updatedb命令來(lái)更新數(shù)據(jù)庫(kù)。默認(rèn)情況下,updatedb每天運(yùn)行一次,可以通過(guò)修改 /etc/crontab 文件來(lái)更改更新時(shí)間的設(shè)定值。
·命令格式:
locate [-eir]... PATTERN...
·選項(xiàng)參數(shù):
-e:確認(rèn)文件的確在文件系統(tǒng)中才列出此文件,否則,不會(huì)列出。(常用)
-i:忽略大小寫(常用)
-r:后面可以正規(guī)表示法的顯示方式(常用)
范例1:找出系統(tǒng)中所有與pwd有關(guān)的文件
范例二:找出 /etc 目錄中所有以sh開頭的文件
未完待續(xù)?。?/strong>
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。