曾經遇到過找不到文件的情況嗎?別擔心,你並不是唯一一個。在Ubuntu中有許多方法可以尋找文件,你將會受益匪淺!
在本教程中,你將學會如何尋找文件,即使你完全忘記了它們的名稱或確切位置。
繼續閱讀,省去尋找任何文件的壓力吧!
先決條件
本教程將進行實踐演示。請確保你有一個Ubuntu系統。本教程使用的是Ubuntu 20.04,但步驟應該與其他近期版本的Ubuntu類似。
在Ubuntu中使用GUI尋找文件
在Ubuntu上尋找文件的一種方法是使用GUI。通過GUI導航通常比使用命令行更快,特別是如果你對終端或命令不熟悉的話。
要通過Ubuntu的GUI尋找文件:
1. 點擊“活動”按鈕(左上角),會出現一個搜索欄,如下所示。
“活動”按鈕是一個快捷方式,就像Windows的開始菜單或macOS的Finder一樣。另一方面,搜索欄是一個快速找到並啟動應用程序、打開文檔和查看所有打開窗口的快速方式。
是的,你猜對了。搜索欄也可以讓你在系統上搜索文件。

2. 接下來,在搜索欄中輸入關鍵詞,會顯示一系列匹配的結果。
以下截圖顯示了關鍵字搜索的結果,分為應用程式、文件和設置等類別:
- 頂部結果部分是應用程式類別(Google Chrome、Terminal…)。
- 接下來的部分是設置類別(外觀、顏色…)。
- 最後一個部分是字符類別,顯示系統中包含單詞“the”的文件。

3. 現在,使用同樣的技術,尋找系統中的其他文件。 例如,搜索ubuntu,您將看到包含單詞“ubuntu”的應用程式和文件。
您可以看到下面的第一個結果是Ubuntu軟件應用程式,其次是ubuntu-find-file.txt文件及其位置(/home/ata/Documents)。

精煉搜索結果
如果您在搜索結果中找到了您要找的文件,那是個好消息。您可以點擊文件以打開它。但如果沒有,您將需要通過添加其他關鍵字來精煉搜索。
要精煉搜索結果:
1. 打開Ubuntu的設置並選擇搜索。

2. 接下來,切換項目旁邊的切換按鈕(打開或關閉)。這樣做可以讓您在搜索結果中包括該類別或不包括。
下面的示例將關閉在搜索中顯示終端結果的選項。

3. 按一下項目旁邊的省略符號,然後選擇”上移”或”下移”以更改其位置。這樣做會按類別更改結果的顯示順序,以進一步精煉您的搜索結果。

4. 現在,打開檔案管理器應用程式,因為在大多數情況下,您只想要找到一個已保存的文件,而不是一個應用程式或設置。

5. 在檔案管理器中,點擊頂部的搜索圖標,然後會出現一個搜索欄,如下所示。
在搜索欄中輸入關鍵字,例如ubuntu。檔案管理器將在系統上搜索包含該關鍵字在其名稱或內容中的文件或文件夾。一旦找到,匹配結果的列表將顯示在右側面板中。

6. 最後,點擊搜索欄旁邊的向下箭頭圖標,然後選擇您要尋找的特定文件創建日期和文件類型,以縮小文件搜索範圍。這個功能在搜索返回大量結果或沒有結果時非常有用。


尋找文件使用find
命令
到目前為止,您已經看到如何通過Ubuntu的GUI尋找文件。但如果您大部分時間都在終端機上工作,那麼find
命令就是您尋找文件的最佳選擇。find
命令是一個命令行實用程序,允許您在系統上搜索文件和目錄。
find
命令功能強大,提供了許多自定義搜索的選項。通常,終端機是查找文件的唯一方法,例如,當您通過SSH遠程工作時。
find 命令的基本語法如下:
路徑
– 允許您指定開始搜索的目錄。如果未指定路徑,find
命令將從當前工作目錄開始搜索。opt
– 指定修改find
命令行為的各種選項。
使用 find
命令查找文件:
1. 執行以下命令以在當前工作目錄 (./) 下的特定 文檔 目錄中查找名為 ubuntu-find-file.txt 的所有文件。
以下將顯示包含指定關鍵字的每個文件的完整路徑。如果未找到結果,您將獲得空輸出。

2. 接下來,運行相同的查找命令,但這次使用通配符 * 來查找特定字符模式。
例如,以下命令在 文檔 目錄中查找所有具有 .txt 擴展名的文件。
由於其文件擴展名為 .txt,因此該命令返回相同的 ubuntu-find-file.txt 文件,如下所示。

3. 執行以下命令以查找最近修改的文件(-mtime),例如七天前 (+7) 並列出其詳細信息(-ls)在您的主目錄(~/)中。
這種方法在尋找不時修改的配置文件時很方便。
您可以看到,-mtime 選項在您忘記何時修改特定文件但還記得大概時間時很有幫助。

4. 最後,執行下面的命令來查找 /var/log/ 目錄中所有具有 .temp 擴展名的文件並刪除它們。
當您想要同時刪除符合某些標準的許多文件時,-delete 選項很有幫助。
請注意,此命令不提供輸出,並且 -delete 選項在刪除每個文件之前不會要求確認。因此,在使用此選項時要小心。
使用 locate
命令查找文件
您認為 find 命令是強大的工具嗎?是的,但 find 命令有一個主要缺點。find 命令實時搜索文件和目錄。這種行為使得文件搜索需要很長時間才能完成,這取決於系統中的文件數量。
那麼,您還有哪些選擇?請改用 locate 命令,它使用數據庫快速查找系統中的文件和目錄。
但在使用locate命令之前,您必须将合并locate(mlocate)数据库包安装到您的系统上。该软件包包含用于创建和更新数据库的必需实用程序。
1. 运行以下apt install命令来安装mlocate到您的系统中。

2. 接下来,运行下面的updatedb命令,该命令不提供输出,但会更新locate数据库。由于它会扫描整个文件系统以查找新文件和修改的文件,所以该命令可能需要一些时间来运行。
请注意,您必须定期运行此命令以确保数据库是最新的。
3. 更新后,运行以下locate命令来检查数据库的统计信息(-S)。该命令显示数据库中的文件总数和其他信息。

4. 现在,运行以下命令来定位所有文件名中包含ubuntu关键字的文件,忽略关键字的大小写(-i)。
locate命令通过数据库而不是系统的文件结构进行实时搜索。因此,即使您的系统包含大量文件,该命令返回搜索结果的速度也比find命令快得多。
以下輸出僅顯示包含 ubuntu 關鍵字的檔案清單的一小部分。
由於該命令不區分大小寫,您還將看到列出具有“Ubuntu”、“UBUNTU”或任何其他單詞變化的檔案。

5.執行以下命令來查找相同的 ubuntu 關鍵字。但是這次,刪除 -i 選項以執行區分大小寫的搜索並將輸出限制為一定數量的結果(-n 15)。
下面的輸出顯示清單要短得多,僅包含名稱中 ubuntu 關鍵字的確切文本大小寫的檔案。

也許您需要知道包含關鍵字 ubuntu 的數據庫中的檔案總數。如果是這樣,請執行以下 locate 命令來計算(-c)數據庫中的所有檔案。
以下是 locate 命令索引的檔案總數(103117)。

結論
在本教程中,您已經意識到在 `s 中忘記檔案的名稱或保存位置可能不那麼令人沮喪。您已經學會了在 Ubuntu 中通過 GUI 和 find 及 locate 命令找到檔案的許多方法,以及它們方便的選項。
您最喜歡哪種方式來查找檔案?不管您的選擇是什麼,現在您都可以放心,抹去那些眼淚,讓這些新發現的知識為您尋找檔案鋪平道路。