Linux下find命令在根目录下查找不到文件

  你遇到过linux下root用户执行find命令按文件名在根目录下查找不到指定文件的情况吗?如果你遇到这种情况,你分析可能有哪几种原因导致?这里记录一下这个有意思的问题,包括问题场景和解决方法。

问题现象

  实现一个工具,需要在root命令下执行普通用户user1下的stop_proc命令。执行命令为su - user1 -c "stop_proc"。结果返回command not found。计划使用stop_proc的绝对路径进行调用。

  (1)开始执行which stop_proc查看,没有找到。咦。。

  (2)执行whereis stop_pro,也没找到。汗。。

  (3)切换root用户,执行find / -name "stop_proc"查找,也没有记录输出。三连击。。mengbi了。

问题分析

   有点搞不清楚状况了。。stop_proc命令明明可以执行,还能使用tab键联想,但是which没有显示路径。find / 也找不到。什么原因?有什么特殊权限可以不让find出来?开始查资料搜索中。。结果是什么都没找到。

  最后咨询同事,才搞明白。内建函数或者alias别名find命令就可能搜索不到。在普通用户user1下,执行type stop_proc。发现这果真是一个别名。

问题解决

  调用命令就直接使用完整命令问题就解决了。

猜你喜欢

转载自www.cnblogs.com/linyfeng/p/10193644.html