ubuntu 查詢檔案命令-find-which-whereis-locate-type-之間的區別
下面的分析是來自鳥哥的還有網上的,具體看博主命令的截圖,或者自己敲命令實踐一下。但是實際應用時還是有出入的,博主以後有時間再深究吧!
which:在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。當加上-a引數時返回所有查詢結果。
whereis: 只能用於程式名的搜尋,而且只會搜尋二進位制檔案(-b),manual路徑下的說明檔案(-m),原始碼檔案(-s)以及其他特殊檔案(-u)。如果省略引數則返回所有查詢資訊。Linux系統會將系統內的所有檔案都記錄在一個數據庫檔案裡面。whereis利用該資料庫來查詢資料,速度相當快,而且沒有實際查詢硬碟,比較節省時間。
find:該命令直接查詢硬碟,所以花費時間比較長。該命令可以找到你想要的任何檔案!
locate:作用相當於find -name,但是比後者要快很多,因為locate命令也是用資料庫查詢的。但是因為該資料庫預設是一天更新一次的,所有使用locate命令有可能找不到最近新建的檔案。這時就需要手動更新資料庫,命令很簡單,直接輸入“updatedb”就好了!
type: 這個命令可以區分某個命令是bash自帶的(builtin)還是bash外部(其他非bash所提供的)的獨立二進位制檔案提供的。如果一個命令式外部命令,那麼使用-p引數,會顯示該命令的路徑作用相當於which。