如果需要递归遍历目录树,有两种方法可以做到:
1.随着遍历的进行,逐渐增加路径长度,例如…/…/…
2.使用chdir进入每个目录,因此您永远不会处理超过两个组件的路径名。
第一种方法更明显,并且可能更能够抵御不良事件,例如在中途卸载某些内容。另一方面,查看GNU find实用程序的代码时,我注意到它使用第二种方法。这是为什么?第二种方法有任何我没有考虑的优势吗?
1.随着遍历的进行,逐渐增加路径长度,例如…/…/…
2.使用chdir进入每个目录,因此您永远不会处理超过两个组件的路径名。
第一种方法更明显,并且可能更能够抵御不良事件,例如在中途卸载某些内容。另一方面,查看GNU find实用程序的代码时,我注意到它使用第二种方法。这是为什么?第二种方法有任何我没有考虑的优势吗?