3種方法來在Linux電腦上查找文件


 

如果你不太了解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程序。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM