如何在Linux上的終端中搜索文件

如何在Linux上的終端中搜索文件

雖然我們有很多方法可以在Linux上搜索和定位文件和目錄,但最簡單,最快的方法可能是通過終端,但是很少有Linux用戶知道這一點,這會導致不必要的挫敗感。希望可以幫助您找到系統中要查找的內容。

使用定位命令

定位”命令是Linux用戶應優先使用的方法,因為它比任何其他方法都要快得多。無與倫比的速度的原因是locate命令實際上並沒有在本地硬盤上搜索所需的文件或目錄。查找,但更像是讀取包含系統中所有文件路徑的mlocate.db數據庫文件。

如果尚未安裝locate,請使用以下命令:

Debian和Ubuntu

sudo apt-get install locate

CentOS的

yum install locate

準備首次使用定位命令

要在首次使用之前更新mlocate.db數據庫,請運行:

sudo updatedb

要使用定位,請打開一個終端並輸入locate,然後輸入您要查找的文件名。在本示例中,我正在搜索名稱中包含單詞“sunny”的文件。

locate sunny

定位還可以告訴您數據庫中搜索關鍵字的匹配次數。這可以通過在命令中包含“ -c”參數來實現,該參數代表“計數”。

locate -c sunny

使用定位查找關鍵字已匹配多少次

用戶需要記住的是,“ locate”需要您要查找的文件的確切名稱,這與其他更靈活的工具相反。這意味着locate非常適合查找您確定的文件它的名稱,但是當您不完全記得文件名時就不太好了。

locate howtoforge

locate Howtoforge

查找需要確切的文件名

而且,由於“定位”讀取數據庫文件,結果可能已過時且不完全正確。為緩解此問題,您可以通過鍵入“須藤更新”在終端會話中。

在此處查看有關如何使用locate命令的更多示例。

如果在那之後您仍然沒有找到想要的東西,或者只是對結果數量不知所措,請繼續執行下一步,即“查找”命令。

使用查找命令

”命令是一個功能強大但搜索速度較慢的實用程序。這是因為與“ locate”命令相反,“ find”實際上是在磁盤上搜索用戶要查找的文件和目錄。試圖查找文件或目錄,但您不記得它的名稱,因為“查找”可以搜索屬於某個用戶或一組用戶的文件,最近被修改或訪問的文件,特定大小的文件範圍,隱藏文件,可執行文件,只讀文件以及具有一定權限的文件。最好的部分是,用戶可以在一個“查找”命令中自由組合上述多個條件,從而從本質上縮小了搜索範圍。

說到縮小範圍,運行“查找”時要做的第一件事就是告訴它在特定目錄中進行搜索。這將顯着加快搜索過程,但始終取決於目錄的大小。知道文件可能在哪裡,打開終端,導航到目錄並運行“找到。 [filename]該點告訴find在當前目錄中搜索。如果要搜索主目錄,則將點替換為“〜/”,如果要搜索整個文件系統,請使用“ /”。

例如,我想在下載目錄中搜索包含海報的文件。我知道文件名中包含“海報”一詞,但我不完全記得該名稱。因此,我會通過“ cd Downloads”在終端上導航到我的下載文件夾,然後輸入命令:

sudo find . -name "*poster*"

結果如下:

在Linux上使用find命令

這告訴我在Downloads文件夾中有一個名為“ billy_poster copy”的pdf文件。如果我不知道它在哪裡,如果我搜索了一個父項,“ find”仍會告訴我它在Downloads文件夾中。目錄。

搜索按文件名查找的文件

現在,如果我將“ -name”參數替換為“ -iname”,則可以不考慮字母大小寫而得到結果。這在“ locate”中是不存在的,因此當您不在時,另一個有用的元素確定文件名。

sudo find . -iname "*poster*"

在find命令中使用-iname選項

現在,假設我仍在搜索相同的海報文件,並且我唯一記得的是它的大小小於5 MB。在這種情況下,我將使用的命令是:

find ~/ -size -5M

如果我知道它比2MB高,那麼命令將是“ find〜/ -size + 2M”。最好的部分是find支持布爾運算符,以使搜索更加強大。在此示例中,我將使用命令結合我的知識,該文件的大小小於5 MB,也大於2 MB。

find / -size -5M -and -size +2M

按大小查找文件

最後,建議我們什麼都不記得,但是記得三分鐘前訪問了它。要找到它,請使用find命令如下:

find / -amin -3

這將是“ find / -amin -30”半小時,“-amin -120”兩個小時等。如果兩天前訪問文件,請改用此命令:

find / -time -2

這將顯示過去兩天在搜索位置訪問的所有文件。

按時間戳查找文件

我認為以上內容涵蓋了大多數常見的用例場景。有關強大的“查找”命令的更多信息,請打開終端並鍵入“ man find”。祝您好運。

可以在此處找到Linux find命令的更多示例。

Sidebar