理解whereis和which on Linux

  • whereis

    From wikipedia, whereis is a command on Unix and Unix-like operating systems used to locate some special files of a command like the binary file(-b), source(-s) and manual page(-m) files.

    -b:只查找二進制文件;
    -B<目錄>:只在設置的目錄下查找二進制文件;
    -f:不顯示文件名前的路徑名稱;
    -m:只查找說明文件;
    -M<目錄>:只在設置的目錄下查找說明文件;
    -s:只查找原始代碼文件;
    -S<目錄>只在設置的目錄下查找原始代碼文件;
    -u:查找不包含指定類型的文件。
    

    如果省略參數,則查找全部。

    與find相比,whereis 查找的速度非常快,因爲linux系統會將系統內的所有文件都記錄在一個數據庫文件中,當使用whereis和locate時,會從數據庫中查找數據,而find時通過遍歷硬盤來查找。

    數據庫文件存在更新不及時情況,一般是一星期更新一次。

    因此會存在找到已經被刪除的數據,或剛剛建立的數據找不到。

  • which

    which 命令用於查找並顯示給定命令的絕對路徑。

    環境變量PATH中保存了查找命令時需要遍歷的目錄。

    -n<文件名長度>:制定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名;
    -p<文件名長度>:與-n參數相同,但此處的<文件名長度>包含了文件的路徑;
    -w:指定輸出時欄位的寬度;
    -V:顯示版本信息。
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章