奇怪,Linux下命令能夠執行但find查找不到路徑

  你遇到過linux下root用戶執行find命令按文件名在根目錄下查找不到指定文件的狀況嗎?若是你遇到這種狀況,你分析可能有哪幾種緣由致使?這裏記錄一下這個有意思的問題。linux

問題現象

  實現一個工具,須要在root命令下執行普通用戶user1下的stop_proc命令。執行命令爲su - user1 -c "stop_proc"。結果返回command not found。計劃使用stop_proc的絕對路徑調用解決該問題。函數

  (1)開始執行which stop_proc查看,沒有找到。咦。。工具

  (2)執行whereis stop_pro,也沒找到。汗。。spa

  (3)切換root用戶,執行find / -name "stop_proc"查找,也沒有記錄輸出。三連擊。。mengbi了。
搜索

問題分析

   有點搞不清楚情況了。。stop_proc命令明明能夠執行,還能使用tab鍵聯想,可是which沒有顯示路徑。find / 也找不到。什麼緣由?有什麼特殊權限能夠不讓find出來?開始查資料搜索中。。結果是什麼都沒找到。權限

  最後諮詢同事,才搞明白。內建函數或者alias別名find命令就可能搜索不到。在普通用戶user1下,執行type stop_proc。發現這果然是一個別名。command

問題解決top

  調用命令就直接使用完整命令問題就解決了。tab

相關文章
相關標籤/搜索