查找文件所在位置:whereis which find locate

whereis

where命令只能用于程序名的搜索,而且只搜索二進制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息

// 使用whereis
$ whereis git
/usr/bin/git

which

which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的為位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪個位置的命令

// 使用which
$ which git
/usr/local/bin/git

find

find是最強大的查找命令,同時,也最慢。

// 語法
$ find [指定目錄] [指定條件] [指定動作]
- 指定目錄:所要搜索的目錄及其所有子目錄。默認為當前目錄
- 指定條件:所要搜索的文件的特征
- 指定動作:對搜索結(jié)果進行特定的處理

// 使用
find的使用實例:
  - 搜索當前目錄中,所有以code開頭的文件
    $ find . name 'code*'
 - 搜索當前目錄中,所有以code開頭的文件,并展示詳細信息
    $ find . -name 'code*' -ls
 - 搜索當前目錄中,所有過去10分鐘更新過的普通文件,如果不加-type f參數(shù),則搜索普通文件+特殊文件+目錄
  $ find . -type f -mmin -10

locate

與find的關(guān)系:find -name 因為它不搜索目錄,搜索的是/usr/local/locatedb數(shù)據(jù)庫,比find快,但是對于最近更新的文件,有可能搜索不到。使用前,可以先執(zhí)行updatedb(mac可以執(zhí)行sudo /usr/libexec/locate.updatedb)。

- 搜索etc目錄下所有以是開頭的文件
$ locate /etc/sh
- 搜索etc目錄下所有以sh開頭的文件
$ locate /etc/sh
- 搜索用戶主目錄下,所有以code開頭的文件
$ locate ~/m
 - 搜索用戶主目錄下,所有以code開頭的文件,  并且忽略大小寫
$ locate -i ~/m

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容