which, whereis, locate, find的區別


which       查看可執行文件的位置,這些可執行文件都是在PATH環境變量中設置好的,所以which基本上都是查找可執行的文件

 

[root@localhost ~]# which yum
/usr/bin/yum

whereis    查看文件的位置 

[root@redhat ~]# whereis [-bmsu] 文件或者目錄名稱 
參數說 明: 
-b : 只找二進制文件 
-m: 只找在說明文件manual路徑下的文件 
-s : 只找source源文件 
-u : 沒有說明文檔的文件 

更多的參數可以通過man whereis 來查看, 

locate 文件或者目錄名稱 

配合數據庫查看文件位置,

和find相比,whereis查找的速度非常快,這是因爲linux系統會將 系統內的所有文件都記錄在一個數據庫文件中,當使用whereis和下面即將介紹的locate時,會從數據庫中查找數據,而不是像find命令那樣,通 過遍歷硬盤來查找,效率自然會很高。 
但是該數據庫文件並不是實時更新,默認情況下時一星期更新一次,因此,我們在用whereis和locate 查找文件時,有時會找到已經被刪除的數據,或者剛剛建立文件,卻無法查找到,原因就是因爲數據庫文件沒有被更新。可以通過updatedb 來強制性更新本地的數據庫

find   實際搜尋硬盤查詢文件名稱 

參數也是很多,我經常用的就是 

find / -name zabbix.conf

更多的參數可以參考下面 或者通過 man find

時間查找參數: 
-atime n :將n*24小時內存取過的的文件列出來 
-ctime n :將n*24小時內改變、新增的文件或者目錄列出來 
-mtime n :將n*24小時內修改過的文件或者目錄列出來 
-newer file :把比file還要新的文件列出來 
名稱查找參數: 
-gid n       :尋找羣組ID爲n的文件 
-group name  :尋找羣組名稱爲name的文件 
-uid n       :尋找擁有者ID爲n的文件 
-user name   :尋找用戶者名稱爲name的文件 
-name file   :尋找文件名爲file的文件(可以使用通配符


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章