Linux 命令中 which、whereis、locate 命令的用法。
which 命令
which 命令的作用是,在 PATH 變量指定的路徑中搜索可執行文件的所在位置。它一般用來確認系統中是否安裝了指定的軟件。
(1)命令格式
which 可執行文件名稱
(2)常用範例
例一:確認是否安裝了 gcc,可以使用如下命令:
which gcc
whereis 命令
whereis 命令主要用於定位可執行文件、源代碼文件、幫助文件在文件系統中的位置。whereis 命令還具有搜索源代碼、指定備用搜索路徑和搜索不尋常項的能力。
whereis 命令查找速度非常快,這是因為它根本不是在磁盤中漫無目的亂找,而是在一個數據庫中(/var/lib/mlocate/)查詢。這個數據庫是 Linux 系統自動創建的,包含有本地所有文件的信息,並且每天通過自動執行 updatedb 命令更新一次。也正是因為這個數據庫要每天才更新一次,就會使得 whereis 命令的搜索結果有時候會不準確,比如剛添加的文件可能搜不到。
(1)命令格式
whereis [選項] 文件
(2)常用參數
參數 | 描述 |
---|---|
-b | 定位可執行文件 |
-m | 定位幫助文件 |
-s | 定位源代碼文件 |
-u | 搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件 |
-B | 指定搜索可執行文件的路徑 |
-M | 指定搜索幫助文件的路徑 |
-S | 指定搜索源代碼文件的路徑 |
(3)常用範例
例一:搜索 gcc 可執行文件的路徑,可以使用如下命令:
whereis -b gcc
例二:搜索 gcc 幫助文件的路徑,可以使用如下命令:
whereis -m gcc
locate 命令
locate 命令跟 whereis 命令類似,且它們使用的是相同的數據庫。但 whereis 命令只能搜索可執行文件、聯機幫助文件和源代碼文件,如果要獲得更全面的搜索結果,可以使用 locate 命令。
locate 命令使用了十分復雜的匹配語法,可以使用特殊字元(如’*’和’?’)來指定需要查找的樣本。
(1)命令格式
locate [選項] [搜索字符串]
(2)常用參數
參數 | 描述 |
---|---|
-q | 安靜模式,不會顯示任何錯誤訊息 |
-n | 至多顯示 n 個輸出 |
-r | 使用正規表達式做尋找的條件 |
-V | 顯示版本訊息 |
(3)常用範例
例一:搜索 etc 目錄下所有以 sh 開頭的文件,可以使用如下命令:
locate php.ini
註意執行這個命令會報錯:locate 無法執行 stat() ‘/var/lib/mlocate/mlocate.db’
:沒有那個文件或目錄。
解決辦法是執行sudo updatedb
命令。
本文出自 “我的PHP之路” 博客,請務必保留此出處http://phpme.blog.51cto.com/663593/1977474
Linux 命令中 which、whereis、locate 命令的用法。