linux搜尋系統

來源:互聯網
上載者:User

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 是最強大的搜尋命令,它可以通過指定參數從而通過各種條件來尋找檔案。比如,可能通過檔案建立時間,檔案擁有者,檔案許可權等等參數來尋找合格檔案。具體的參數可以參考http://os.51cto.com/art/201109/293912.htm。

    但是,find命令的一個弊端是它很費時,因為它是直接搜尋硬碟,而不像locate和whereis那樣只需要搜尋檔案資料庫就可以了,因此,一般的情況下我們不會使用這個命令。當然,不可否認的是它非常的強大,所以在有些時候還是很有用地。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.