2 个回答

因为find是递归执行的,一级一级目录层级递归,所以当时发现那个目录的时候递归进去,但是递归中这个目录被删了,自然就会报这个错。

/proc目录极容易产生这个现象。

建议最后追加上2>/dev/null静默输出所有find过程中的错误

/proc下面是一堆进程相关的数据信息,它随着进程的结束而消失,如果find刚找到一个PID,这时候刚好它对应的进程结束退出了,那么这个目录就消失了,find想进入这个目录递归就报出找不到的错误了

find的4.2版本,提供了一个 ignore_readdir_race 参数,可以忽略此类错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题