溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

除了find命令,還有這么多文件查找命令!

發(fā)布時(shí)間:2020-08-05 11:58:38 來源:ITPUB博客 閱讀:185 作者:大雄45 欄目:建站服務(wù)器
文件搜索 命令遠(yuǎn)不止一個(gè) find  命令,還有很多。本文就對(duì)  Linux 下文件搜索命令進(jìn)行一個(gè)科普,讓你能夠在短時(shí)間內(nèi)找到自己需要的文件。

在系統(tǒng)里查找文件,是所有工程師都必備的技能(不管你用的是 Windows 、Linux、還是 MacOS 系統(tǒng))。對(duì)于 Linux 操作系統(tǒng),單單一個(gè) find 命令就可以完成非常多的搜索工作。

但是,文件搜索命令遠(yuǎn)不止一個(gè) find 命令,還有很多。本文就對(duì) Linux 下文件搜索命令進(jìn)行一個(gè)科普,讓你能夠在短時(shí)間內(nèi)找到自己需要的文件。

除了find命令,還有這么多文件查找命令!

1. find

find 命令應(yīng)該是最經(jīng)典的命令了,談到搜索工具第一個(gè)想到的肯定是 find 命令。但是,find 命令非常強(qiáng)大,想要把它的功能都介紹一遍,恐怕要寫好幾篇文章。

所以,這里就偷個(gè)懶,介紹最基本的,根據(jù)文件名查找文件的方法。假如我們想搜索當(dāng)前目錄(及其子目錄)下所有 .sh 文件,可以這樣搜索:

除了find命令,還有這么多文件查找命令!

2. locate

locate 是另外一個(gè)根據(jù)文件名來搜索文件的命令。區(qū)別于 find 命令,locate 命令無需指定路徑,直接搜索即可。

這個(gè)命令不是直接去系統(tǒng)的各個(gè)角落搜索文件,而是在一個(gè)叫 mlocate.db 的數(shù)據(jù)庫(kù)下搜索。這個(gè)數(shù)據(jù)庫(kù)位于 /var/lib/mlocate/mlocate.db ,它包含了系統(tǒng)里所有文件的索引,并且會(huì)在每天早上的時(shí)候由 cron 工具自動(dòng)更新一次。

正因?yàn)槿绱?,locate 的搜索速度遠(yuǎn)快于 find 命令,因?yàn)樗苯釉跀?shù)據(jù)庫(kù)里檢索,速度自然更快。

locate 命令在找到文件之后,將直接顯示該文件的絕對(duì)路徑,比如:

除了find命令,還有這么多文件查找命令!

但是 locate 命令有個(gè)弊端,它無法搜索當(dāng)天所創(chuàng)建的文件,因?yàn)樗臄?shù)據(jù)庫(kù)一天只在早上更新一次。比如我現(xiàn)在創(chuàng)建一個(gè)新文件,locate 沒辦法搜索到:
為了解決這個(gè)問題,我們可以使用 updatedb 命令手動(dòng)去更新它的數(shù)據(jù)庫(kù): sudo updadb
除了find命令,還有這么多文件查找命令!

3. which

which 命令主要用來查找可執(zhí)行文件的位置,它搜索的位置指定在 $PATH 及 $MANPATH 環(huán)境變量下的值,默認(rèn)情況下,which 命令將顯示可執(zhí)行文件的第一個(gè)存儲(chǔ)位置:

如果某個(gè)可執(zhí)行文件存儲(chǔ)在多個(gè)位置,可以使用 -a 選項(xiàng)列出所有的位置。

如果你想一次性查找多個(gè)文件,可以直接跟在 which 命令后面即可。
除了find命令,還有這么多文件查找命令!

4. whereis

whereis 命令會(huì)在系統(tǒng)默認(rèn)安裝目錄(一般是有root權(quán)限時(shí)默認(rèn)安裝的軟件)查找二進(jìn)制文件、源碼、文檔中包含給定查詢關(guān)鍵詞的文件。(默認(rèn)目錄有 /bin, /sbin, /usr/bin, /usr/lib,/usr/local/man等類似路徑)。

一般包含以下三部分內(nèi)容:

二進(jìn)制文件的路徑

二進(jìn)制文件的源碼路徑

對(duì)應(yīng) man 文件的路徑

比如我們現(xiàn)在搜索 ls 命令:

除了find命令,還有這么多文件查找命令!

我們可以使用 -b 選項(xiàng)來只搜索可執(zhí)行文件所在位置,使用 -B 選項(xiàng)指定搜索位置,使用 -f 選項(xiàng)列出文件的信息。

同樣地,我們可以使用 -s 限定只搜索源碼路徑,使用 -m 搜索 man page 路徑,使用 -s 指定搜索源代碼文件的路徑,使用 -M 指定搜索幫助文件的路徑。

原文來自: https://www.linuxprobe.com/find-locate.html

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI