你遇到过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