文件搜索
命令遠(yuǎn)不止一個 find
命令,還有很多。本文就對
Linux 下文件搜索命令進行一個科普,讓你能夠在短時間內(nèi)找到自己需要的文件。 |
在系統(tǒng)里查找文件,是所有工程師都必備的技能(不管你用的是 Windows 、Linux、還是 MacOS 系統(tǒng))。對于 Linux 操作系統(tǒng),單單一個 find 命令就可以完成非常多的搜索工作。
創(chuàng)新互聯(lián)專注于臺山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站建設(shè)。臺山網(wǎng)站建設(shè)公司,為臺山等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
但是,文件搜索命令遠(yuǎn)不止一個 find 命令,還有很多。本文就對 Linux 下文件搜索命令進行一個科普,讓你能夠在短時間內(nèi)找到自己需要的文件。
find 命令應(yīng)該是最經(jīng)典的命令了,談到搜索工具第一個想到的肯定是 find 命令。但是,find 命令非常強大,想要把它的功能都介紹一遍,恐怕要寫好幾篇文章。
所以,這里就偷個懶,介紹最基本的,根據(jù)文件名查找文件的方法。假如我們想搜索當(dāng)前目錄(及其子目錄)下所有 .sh 文件,可以這樣搜索:
locate 是另外一個根據(jù)文件名來搜索文件的命令。區(qū)別于 find 命令,locate 命令無需指定路徑,直接搜索即可。
這個命令不是直接去系統(tǒng)的各個角落搜索文件,而是在一個叫 mlocate.db 的數(shù)據(jù)庫下搜索。這個數(shù)據(jù)庫位于 /var/lib/mlocate/mlocate.db ,它包含了系統(tǒng)里所有文件的索引,并且會在每天早上的時候由 cron 工具自動更新一次。
正因為如此,locate 的搜索速度遠(yuǎn)快于 find 命令,因為它直接在數(shù)據(jù)庫里檢索,速度自然更快。
locate 命令在找到文件之后,將直接顯示該文件的絕對路徑,比如:
但是 locate 命令有個弊端,它無法搜索當(dāng)天所創(chuàng)建的文件,因為它的數(shù)據(jù)庫一天只在早上更新一次。比如我現(xiàn)在創(chuàng)建一個新文件,locate 沒辦法搜索到:
為了解決這個問題,我們可以使用 updatedb 命令手動去更新它的數(shù)據(jù)庫: sudo updadb
which 命令主要用來查找可執(zhí)行文件的位置,它搜索的位置指定在 $PATH 及 $MANPATH 環(huán)境變量下的值,默認(rèn)情況下,which 命令將顯示可執(zhí)行文件的第一個存儲位置:
如果某個可執(zhí)行文件存儲在多個位置,可以使用 -a 選項列出所有的位置。
如果你想一次性查找多個文件,可以直接跟在 which 命令后面即可。
whereis 命令會在系統(tǒng)默認(rèn)安裝目錄(一般是有root權(quán)限時默認(rèn)安裝的軟件)查找二進制文件、源碼、文檔中包含給定查詢關(guān)鍵詞的文件。(默認(rèn)目錄有 /bin, /sbin, /usr/bin, /usr/lib,/usr/local/man等類似路徑)。
一般包含以下三部分內(nèi)容:
二進制文件的路徑
二進制文件的源碼路徑
對應(yīng) man 文件的路徑
比如我們現(xiàn)在搜索 ls 命令:
我們可以使用 -b 選項來只搜索可執(zhí)行文件所在位置,使用 -B 選項指定搜索位置,使用 -f 選項列出文件的信息。
同樣地,我們可以使用 -s 限定只搜索源碼路徑,使用 -m 搜索 man page 路徑,使用 -s 指定搜索源代碼文件的路徑,使用 -M 指定搜索幫助文件的路徑。
原文來自: https://www.linuxprobe.com/find-locate.html
網(wǎng)站欄目:除了find命令,還有這么多文件查找命令!
網(wǎng)站URL:http://jinyejixie.com/article26/gpejjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、建站公司、服務(wù)器托管、網(wǎng)站改版、網(wǎng)站維護、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)