如果你不太了解Linux命令,那么在Linux系統里查找文件是比較困難的。只要使用多種不同的終端命令,可以很快地找到文件。Linux命令比其它操作系統的搜索功能更加強大,掌握這些命令就能你完全控制這些文件。

1
根據文件名搜索文件。
find命令是最基礎和常用的搜索命令。它可以在當前路徑和任意子目錄中搜索文件。
[1]
find -iname "文件名"
- 用-iname來代替-name,忽略文件名的大小寫。-name命令區分大小寫。
2
設置搜索條件,從根目錄開始搜索。如果想要搜索整個系統,可以添加
/來修改命令。這樣,
find命令會搜索所有路徑,從根目錄開始搜索文件。
find / -iname "文件名"
- 用具體的目錄路徑來代替/,可以搜索特定路徑里的文件,如/home/pat。
- 你可以用.來代替/,這樣就能在當前路徑和子目錄下強制搜索文件。
3
使用通配符.* 搜索任何匹配搜索條件的文件。 如果你不知道文件全名,或想要查找帶有特定擴展名的所有文件,可以使用通配符
*。
find /home/pat -iname "*.conf"
- 這樣會在“Pat”用戶文件夾(所有子目錄)中找到所有.conf文件。
- 你也可以用它來查找所有匹配部分文件名的文件。例如,如果你有很多wikiHow相關的文檔,可以輸入"*wiki*"來找到它們。
4
讓你的搜索結果更方便管理。如果獲得很多搜索結果,就很難細查篩選文件。使用
" | "字符,將搜索結果發送到“less”篩選程序。這樣你就可以更簡單地瀏覽和篩選搜索結果。
find /home/pat -iname "*.conf" | less
5
找到特定類型的結果。你可以使用修飾符來返回特定類型的結果。你可以使用
f搜索常規文件,用
d搜索路徑,用
l搜索符號鏈接文件,用
c搜索字符設備,用
b屏蔽設備。
find / -type f -iname "文件名"
6
根據大小過濾搜索結果。如果很多文件的名稱相似,但是你知道目標文件的大小,可以使用文件大小進行過濾。
find / -size +50M -iname "文件名"
- 上述命令會返回大於等於50MB的文件。你可以使用+或-來搜索更大或更小的文件。如果沒有加+或-字符,就會只搜索特定大小的文件。
- 你可以使用字節(c)、千字節(k)、兆字節(M)、千兆字節(G)或512字節塊(b)來進行篩選。記住,這些文件大小命令是區分大小寫的。
7
使用布爾操作符來整合搜索過濾。使用
-and、
-or和
-not操作符來整合不同類型的搜索條件。
[2]
find /travelphotos -type f -size +200k -not -iname "*2015*"
- 這個命令會在“travelphotos”目錄里查找大於200KB,文件名里不包含“2015”的所有文件。
8
根據用戶或權限搜索文件。如果你想要查找特定用戶的文件,或是帶有特定權限的文件,可以根據此來縮窄搜索條件。
find / -user pat -iname "文件名" find / -group users -iname "文件名" find / -perm 777 -iname "文件名"
- 以上命令會搜索特定用戶、群組或權限的文件。你可以忽略文件名,返回所有匹配條件的文件。如:find / -perm 777會返回所有帶有777權限的文件(無限制條件)。[3]
9
將執行命令整合到搜索文件中。你可以將
find命令和其它命令整合到一起,這樣在返回搜索結果時,執行命令。用
-exec來隔開
find命令和第二個命令,然后結尾用
{} \;字符。
find . -type f -perm 777 -exec chmod 755 {} \;
- 這樣會在當前路徑和所有子目錄里搜索帶有777權限的文件。找到文件后,chmod命令會將權限更改為755。

1
安裝.locate 功能。 由於
locate命令能夠讀取數據庫文件的結構,所以,它通常比
find命令速度更快。但是,不是所有版本的Linux系統都安裝了
locate功能,你可能需要輸入以下命令來安裝它:
- 輸入sudo apt-get update,按下回車鍵。
- 你可以在“Debian”和烏班圖系統里安裝它:輸入sudo apt-get install mlocate,按下回車鍵。如果已經安裝了locate,那么會看到mlocate is already the newest version的信息。
- 在“Arch Linux”系統里,使用“pacman”安裝包管理器:pacman -Syu mlocate
- 在“Gentoo”系統里,使用“emerge”:emerge mlocate
2
更新.locate 數據庫。 除非建立並更新數據庫,否則
locate命令無法找到任何內容。一般來說,系統每天會自動更新數據庫,但是你也可以手動更新它。如果你想要立刻使用
locate命令,那就需要手動更新。
[4]
- 輸入sudo updatedb,按下回車鍵。
3
使用.locate 命令進行簡單的搜索。
locate命令的運行速度很快,但是沒有
find命令那么多選項。你可以用它來執行簡單的文件搜索,基本的搜索方式與
find命令相同。
locate -i "*.jpg"
- 這個命令會搜索整個系統,找到帶.jpg后綴的文件。通配符*與find命令里的通配符功能一致。
- 跟find命令類似,-i會忽略搜索條件里的大小寫。
4
限制搜索條件。如果返回過多搜索結果,處理不過來,你可以使用
-n選項來限制搜索。在選項里輸入數字,就會限制出現的搜索結果數量。
locate -n 20 -i "*.jpg"
- 只顯示匹配搜索條件的前20個結果。
- 你也可以使用" | "來將結果發送到less程序。
