1. 前言
Ubuntu 是一款廣受使用者喜愛的 Linux 發行版,為了提高日常工作效率,掌握有效的檔案搜尋方法至關重要。
本篇文章將為初學者到中級使用者詳細解說 Ubuntu 可用的檔案搜尋指令與工具。
我們還會介紹如何加快搜尋速度以及常見問題的解決方法,希望能為您提供參考。
2. 檔案搜尋的基本指令
在 Ubuntu 中,有幾個基本的指令可以用來搜尋檔案。
本節將介紹常見的「find」與「locate」指令,並說明它們的使用方式。
2.1 什麼是 find 指令?
find
指令是一個功能強大的工具,可根據檔案名稱或條件,搜尋指定目錄下的檔案。
find 指令的基本語法
find [搜尋起始目錄] [搜尋條件]
範例:在家目錄內搜尋名為「example.txt」的檔案
find ~/ -name "example.txt"
find 指令的常見選項
-name
:根據檔案名稱搜尋(區分大小寫)-iname
:根據檔案名稱搜尋(不區分大小寫)-type
:指定檔案類型(d
=目錄,f
=檔案)-size
:根據檔案大小搜尋(例如:+1M
表示大於 1MB)
2.2 什麼是 locate 指令?
locate
指令的搜尋速度非常快,但其搜尋結果依賴索引資料庫。
locate 指令的基本語法
locate [檔案名稱或路徑的一部分]
範例:搜尋包含「example」的檔案名稱
locate example
locate 指令的注意事項
由於 locate
使用資料庫,最新的檔案可能不會出現在搜尋結果中。若要更新資料庫,請執行以下指令:
sudo updatedb
2.3 find 與 locate 的使用差異
- find:適用於需要更細緻條件的搜尋。
- locate:適用於快速搜尋已建立索引的檔案。

3. find 指令的詳細解說
find
指令功能強大,能夠透過多種選項進行高效搜尋。
本節將透過具體範例詳細解說各種使用方法。
3.1 依檔案名稱搜尋
可使用 -name
或 -iname
選項來指定檔案名稱進行搜尋。
範例:搜尋所有副檔名為「.txt」的檔案
find ~/ -name "*.txt"
3.2 依檔案大小搜尋
可以根據檔案大小來設定搜尋條件。
範例:搜尋大於 1MB 的檔案
find ~/ -size +1M
3.3 依修改時間搜尋
可使用 -mtime
選項來搜尋特定天數內變更過的檔案。
範例:搜尋 7 天內有修改過的檔案
find ~/ -mtime -7
3.4 執行特定動作
可根據搜尋結果執行特定操作,例如刪除檔案。
範例:刪除所有副檔名為「.tmp」的檔案
find ~/ -name "*.tmp" -exec rm -f {} ;
4. 善用 locate 指令
locate
指令不僅簡單易用,還能提供高速搜尋功能。
本節將介紹 locate
指令的實用技巧。
4.1 透過部分路徑搜尋
即使無法記住完整的檔案名稱,也可以使用部分路徑來搜尋檔案。
範例:搜尋家目錄內與「Documents」相關的檔案
locate ~/Documents
4.2 過濾搜尋結果
可透過 grep
指令來進一步篩選搜尋結果。
範例:僅顯示副檔名為 .txt
的檔案
locate example | grep ".txt"

5. 結合 grep 指令進行搜尋
如果想搜尋檔案內的內容,可以使用 grep
指令。
本節將介紹如何單獨使用 grep
指令,或與 find
及 locate
指令組合來進行更高級的搜尋。
5.1 grep 指令的基本用法
grep
指令可用來搜尋檔案內包含特定字串的行。
grep 指令的基本語法
grep [選項] "搜尋字串" [檔案]
範例:在 example.txt 檔案中搜尋包含「Ubuntu」的行
grep "Ubuntu" example.txt
grep 指令的主要選項
-i
:忽略大小寫進行搜尋。-r
:遞迴搜尋目錄內的所有檔案。-n
:顯示匹配行的行號。
5.2 結合 find 指令與 grep
可以使用 find
指令搜尋特定檔案,然後用 grep
來檢索內容。
範例:在所有 .log
檔案內搜尋「error」字串
find ~/ -name "*.log" -exec grep "error" {} ;
5.3 結合 locate 指令與 grep
可以先用 locate
指令搜尋檔案,然後透過 grep
進一步篩選結果。
範例:搜尋包含「example」的 .txt
檔案
locate "*.txt" | grep "example"
6. 使用 GUI 工具進行檔案搜尋
對於不習慣 CLI(命令列介面)的初學者,或者希望透過直覺操作來搜尋檔案的使用者,GUI 搜尋工具是個方便的選擇。
本節將介紹 Ubuntu 內建的搜尋功能以及第三方搜尋工具。
6.1 Ubuntu 內建的檔案搜尋功能
Ubuntu 的檔案管理器(Nautilus)內建了搜尋功能,可用於快速搜尋檔案。
搜尋步驟
- 開啟檔案管理器。
- 選擇要搜尋的資料夾。
- 在右上角的搜尋欄中輸入關鍵字。
此方法簡單易用,特別適合搜尋圖片、文件等檔案。
6.2 第三方搜尋工具
在 Ubuntu 上,還有一些功能更強大的搜尋工具可供選擇。以下是兩個常見的工具:
Catfish
Catfish 是一款輕量級的 GUI 搜尋工具,能夠快速搜尋檔案。
- 安裝方法
sudo apt install catfish
- 使用方式
啟動 Catfish,然後在搜尋欄輸入關鍵字,即可顯示搜尋結果。
FSearch
FSearch 是一款桌面搜尋工具,其操作方式類似於 Windows 的「Everything」。
- 安裝方法
sudo apt install fsearch
- 特色
- 使用索引技術進行高速搜尋。
- 介面簡潔,操作方便。

7. 提升搜尋速度與效率的技巧
要提高檔案搜尋速度,有幾種實用的方法。
本節將介紹如何提升搜尋效率的具體技巧。
7.1 利用索引加速搜尋
像 locate
這類索引式搜尋工具可以大幅提高搜尋速度。
定期更新資料庫可確保最新的檔案資訊被納入搜尋範圍。
範例:更新 locate
的資料庫
sudo updatedb
7.2 限制搜尋範圍
縮小搜尋範圍可以減少搜尋時間。
- 限制搜尋範圍至特定目錄。
- 排除不必要的檔案類型。
範例:在家目錄內搜尋,但排除 PDF 檔案
find ~/ -type f ! -name "*.pdf"
7.3 善用加速選項
許多指令提供加快搜尋速度的選項。例如,find
的 -maxdepth
可限制搜尋深度。
範例:僅搜尋當前目錄及其下一層目錄
find ./ -maxdepth 1 -name "*.txt"
8. 疑難排解(Troubleshooting)
如果搜尋結果不如預期,可能有幾種常見原因。
本節將介紹常見問題與解決方法。
8.1 搜尋結果為空
- 可能原因1:檔案名稱與輸入的字串不同。
- 解決方案:使用
-iname
忽略大小寫。 - 可能原因2:檔案為隱藏檔案。
- 解決方案:加上
-name ".*"
來搜尋隱藏檔案。
8.2 權限問題
某些目錄可能需要管理員權限才能存取。
- 解決方案:使用
sudo
執行搜尋。
sudo find / -name "example.txt"
8.3 locate 未顯示最新檔案
資料庫可能未更新。
- 解決方案:使用
updatedb
更新資料庫。
sudo updatedb
9. 總結
善用 Ubuntu 的檔案搜尋工具能大幅提升工作效率。
本篇文章介紹了 find
、locate
、grep
指令,以及 GUI 搜尋工具的使用方式。
請嘗試這些方法,讓您的搜尋更加高效!
本篇文章到此結束!下一篇將介紹更進階的 Linux 操作與 Ubuntu 檔案管理技巧,敬請期待!
FAQ:Ubuntu 檔案搜尋常見問題
Q1. 如何搜尋特定副檔名的檔案?
A1. 可以使用 find
指令。例如,在家目錄內搜尋所有 .txt
檔案:
find ~/ -name "*.txt"
Q2. 為什麼 locate 指令找不到最新檔案?
A2. locate
指令依賴資料庫,若未更新,可能無法搜尋最新檔案。可手動更新:
sudo updatedb
Q3. 為什麼搜尋時出現「Permission denied」錯誤?
A3. 某些目錄需要管理員權限,解決方案是使用 sudo
:
sudo find / -name "example.txt"
Q4. GUI 搜尋工具無法顯示結果,該怎麼辦?
A4. 可以檢查以下幾點:
- 確認搜尋範圍是否正確。
- 檢查關鍵字是否輸入正確(可嘗試部分匹配)。
- 如果使用的是索引搜尋工具,請確認索引是否已更新。
Q5. 如何排除特定資料夾的搜尋結果?
A5. 可以使用 -prune
來排除特定資料夾。例如,排除 exclude_folder
:
find ~/ -path "~/exclude_folder" -prune -o -name "*.txt" -print
Q6. 如何搜尋檔案內容而非檔案名稱?
A6. 可以使用 grep
指令。例如,在 example.txt
檔案中搜尋「Ubuntu」:
grep "Ubuntu" example.txt
如果要搜尋多個檔案,可加上 -r
遞迴搜尋:
Q7. find 與 locate 應該如何選擇?
A7. locate 速度快,但需要資料庫更新,可能無法搜尋最新檔案。find 搜尋較慢,但更靈活,可指定條件。可根據需求選擇:
- 需要快速搜尋時:使用
locate
- 需要更精確的搜尋條件時:使用
find