1. 程式人生 > >使用 whereis/which/locate 查找文件

使用 whereis/which/locate 查找文件

soft pre 聯機 手動 常用 $path inux 實例 路徑搜索

whereis命令

whereis只能用於搜索可執行文件 (-b) , 聯機幫助文件 (-m) 和源代碼文件 (-s) . 它只在一個數據庫中查詢(/var/lib/mlocate) .

這個數據庫是Linux系統自動創建的 , 包含本地所有文件信息 , 並且每天通過自動執行 updatedb 命令更新一次 .

如果查找的結果不準確 , 可以通過手動執行 updatedb 命令更新數據庫 .

1 whereis ls  
  • 命令參數
1 -b   定位可執行文件。
2 -m   定位幫助文件。
3 -s   定位源代碼文件。
4 -u   搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
5 -B 指定搜索可執行文件的路徑。 6 -M 指定搜索幫助文件的路徑。 7 -S 指定搜索源代碼文件的路徑。

使用 -B -M -S 參數時 , 必須加上 -f 參數指定要搜索的文件名

只在 /bin 目錄下搜索 ls

1 whereis -B /bin -f ls

locate 命令

locate 命令與 whereis 使用同樣的數據庫 , 但搜索結果更全面 .

  • 常用參數
1 -b 查找路徑中的文件名
2 -c 查詢指定文件的數目
3 -n 最多顯示n條結果
4 -r 使用正則表達式匹配
  • 實例
1 locate ls

這樣會匹配到無論文件名還是路徑中出現過 "ls" 的文件 , 如果要精確搜索 , 如下 :

1 locate -b "\ls"
2 locate -b -r ^ls$  #使用正則表達式:

搜索 /bin 目錄下以 ls 開頭的文件

1 locate /bin/ls

which 命令

which只在環境變量 $PATH 中指定的路徑搜索 , 一般用來確認系統中是否安裝了指定的軟件 .

確認是否安裝 gcc

1 which gcc

使用 whereis/which/locate 查找文件