咱們在修改/etc/sudoers文件,以便可以約束sudo權限時,經常須要知道命令的確切位置。linux
which命令用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時須要遍歷的目錄。which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件。也就是說,使用which命令,就能夠看到某個系統命令是否存在,以及執行的究竟是哪個位置的命令。數據庫
which(選項)(命令名)tomcat
-n<文件名長度>:制定文件名長度,指定的長度必須大於或等於全部文件中最長的文件名;spa
-p<文件名長度>:與-n參數相同,但此處的<文件名長度>包含了文件的路徑;.net
-w:指定輸出時欄位的寬度;get
-V:顯示版本信息
來自: http://man.linuxde.net/which效率
結果截圖:變量
whereis命令用來定位指令的二進制程序、源代碼文件和man手冊頁等相關文件的路徑。 whereis命令只能用於程序名的搜索,並且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。若是省略參數,則返回全部信息。 和find相比,whereis查找的速度很是快,這是由於linux系統會將 系統內的全部文件都記錄在一個數據庫文件中,當使用whereis和下面即將介紹的locate時,會從數據庫中查找數據,而不是像find命令那樣,通 過遍歷硬盤來查找,效率天然會很高。 可是該數據庫文件並非實時更新,默認狀況下時一星期更新一次,所以,咱們在用whereis和locate 查找文件時,有時會找到已經被刪除的數據,或者剛剛創建文件,卻沒法查找到,緣由就是由於數據庫文件沒有被更新。搜索
語法 whereis(選項)(參數)遍歷
選項 -b:只查找二進制文件; -B<目錄>:只在設置的目錄下查找二進制文件;
-f:不顯示文件名前的路徑名稱; -m:只查找說明文件;
-M<目錄>:只在設置的目錄下查找說明文件;
-s:只查找原始代碼文件; -S<目錄>只在設置的目錄下查找原始代碼文件;
-u:查找不包含指定類型的文件。
參數 指令名:要查找的二進制程序、源文件和man手冊頁的指令名。
沒安裝tomcat,因此後面顯示爲空。
來自: http://man.linuxde.net/whereis