linux有著異常強大的搜尋系統,由於linux一般都充當伺服器,因此,在linu
的檔案系統中可能會存著大量的檔案,我們可能常常忘了某個檔案放在
**,這個時候,linux的搜尋系統便發生了巨大的作用,它的強大和方便也給
我們留下了深刻的印象。
這裡,介紹一下linux搜尋系統的幾個命令
1. which(尋找可執行檔案)
格式:which [-a] command
這個命令是根據「path」環境變數所規範的路徑,來搜尋「執行檔案」的檔名。
預設情況下,只搜尋到第乙個匹配的檔案就停止搜尋,當使用」-a」引數時,會
列出所有可以找到的同名執行檔案。
2. whereis(在資料庫中查詢二進位制、源**和幫助手冊檔案)
格式:whereis [-bmsu] 檔案或者目錄名
-b:只查詢二進位制檔案
-m:只找在幫助檔案manual路徑下的檔案
-s:只找原始檔
-u:沒有幫助檔案的檔案
預設情況下,whereis會在資料庫中查詢所有上述的檔案,當限定引數時,便只查詢限定型別的檔案。linux系統會將系統內的所有檔案都記錄在乙個資料庫檔案裡(/var/lib/slocate),當我們使用whereis 或者locate時,就會以此資料庫檔案的內容為準。
注意:由於該資料庫預設是每天更新一次,因此,新建立的檔案可能在資料庫中是搜尋不到的,這時候,可以手動呼叫/usr/bin/updatedb命令來更新資料庫檔案。
3.locate(查詢資料庫中的檔案)
格式:locate filename
locate命令也是從資料庫中查詢檔案,因此,它也和whereis一樣,存在著可能搜尋不到新建立的檔案的問題,與whereis不同的時,它能搜尋到所有型別的檔案,而不僅僅是二進位制、源**以及幫助手冊檔案。並且,它只需要輸入檔名的一部分就可以了,並不需要輸入完整的檔名。如查詢.bashrc檔案,我們可以使用locate shrc。同時,它還有乙個比較強大的地方就是能夠使用萬用字元。比如,我想查詢所有日誌檔案,就可以使用locate \*.log,注意,這個地方的*要使用』\』來轉義,否則,只會查詢當前目錄中的檔案。
4.find
格式:find [path] [option] [action]
find 是最強大的搜尋命令,它可以通過指定引數從而通過各種條件來查詢檔案。比如,可能通過檔案建立時間,檔案擁有者,檔案許可權等等引數來查詢符合條件的檔案。具體的引數可以參考
但是,find命令的乙個弊端是它很費時,因為它是直接搜尋硬碟,而不像locate和whereis那樣只需要搜尋檔案資料庫就可以了,因此,一般的情況下我們不會使用這個命令。當然,不可否認的是它非常的強大,所以在有些時候還是很有用地。
linux系統下grep命令搜尋常用技巧
1.使用grep指令在當前目錄下所有檔案中搜尋指定字段 grep r 待查詢內容 r標識遞迴子目錄查詢 如果不加 r選項,需要將後面的目錄設定為某個檔案,否則命令error2.grep關於正則式的使用技巧 示例文字 dbjqenqnfeojw1234 nkewlvnekwmve wnv nvekwl...
Linux搜尋檔案
1 linux下最強大的搜尋命令為 find 它的格式為 find 指定目錄 指定條件 指定動作 比如使用find命令搜尋在根目錄下的所有inte ces檔案所在位置,命令格式為 find name inte ces 使用locate搜尋linux系統中的檔案,它比find命令快。因為它查詢的是資料...
Linux檔案搜尋
1 whereis簡單快捷,從資料庫中搜尋,whereis 只能搜尋二進位制檔案 b man 幫助檔案 m 和源 檔案 s whereis b who 只查詢名為who的可執行檔案2 locate 快而全,本質通過通過 var lib mlocate mlocate.db 資料庫查詢,系統自動每天更...