Ads 468x60px

##EasyReadMore##

28 5月, 2013

Ubuntu 如何搜尋檔案 (find、locate、whereis、which 比較)

要快就用 locate,要準就用 find,要查系統檔案就用 whereis,要查指令就用 which

find
這個算是功能最多的指令,可以用依檔名、擁有者、群組和權限...等等一堆來搜尋檔案,不過,find 指令是一定要指定搜尋的路徑,否則就只有搜尋目前所在的資料夾,如果改用 find /etc hosts 的話,就會出現一堆檔案名稱裡有 hosts 這個四個字的所有檔案出來,如果再改成 sudo find /etc -name hosts 就會找出更接近我們要找的檔案列表出來的。
locate
這個指令和其他三個指令不同的地方是,locate 指令並不是宜的去搜尋檔案,而是去搜尋由 updatedb 指令所建立和更新的資料庫並讀入記憶體中,所以,locate 指令的搜尋速度遠比其他的指令來的快,但只要是安裝之後,在還沒有執行updatedb 之前,這些新的檔案用 locate 指令是找不到的。
whereis
這個指令只會搜尋幾個特定的路徑,像是 /usr、/bin 或 /etc 等,適合用來搜尋 Ubuntu 的執行檔和原始檔及 man 說明,如果用 whereis host 來搜尋 host 檔,就能夠找出需要的結果,如果用來搜尋家目錄的檔案,就會找不到的。
which
這個指令搜尋的範圍比前一個的 whereis 更小,which 指令只用來搜尋 Ubuntu/Linux 的指令程式,如果,阿舍用  which hosts 的指令來找 hosts 的話,很抱歉喔 ! 一定是找不到的,因為 hosts 不是指令,那麼如果阿舍改成 which which 或 which php5 的話,馬上就會有結果跑出來,因為 which 和 php5 都是指令哩 !

http://www.arthurtoday.com/2010/12/ubuntu-findlocatewhereiswhich.html#.UaLuJbV-mos

0 意見:

張貼留言

 
Blogger Templates