Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何递归遍历根目录_Linux_Filesystems_Traversal_Tree Traversal - Fatal编程技术网

Linux 如何递归遍历根目录

Linux 如何递归遍历根目录,linux,filesystems,traversal,tree-traversal,Linux,Filesystems,Traversal,Tree Traversal,我正在编写纯C应用程序,它应该能够递归地遍历某些目录。当我将/设置为此目录并在某个时间启动应用程序时,我会得到lstat()的失败-我会得到目录中的节点列表,稍后在其中一些节点上执行lstat()时,它会失败。这通常发生在/proc文件系统中 我知道这是一个可以经常更改的动态文件系统 如何遍历这些文件系统?在任何时候获取快照(目录节点)都可能不同于文件系统的实际状态。 另外,find/-iname“*”不会失败并显示文件,包括/proc对不起,这听起来像是一个愚蠢的问题,但您使用哪种语言编写应用

我正在编写纯C应用程序,它应该能够递归地遍历某些目录。当我将
/
设置为此目录并在某个时间启动应用程序时,我会得到
lstat()
的失败-我会得到目录中的节点列表,稍后在其中一些节点上执行
lstat()
时,它会失败。这通常发生在
/proc
文件系统中

我知道这是一个可以经常更改的动态文件系统

如何遍历这些文件系统?在任何时候获取快照(目录节点)都可能不同于文件系统的实际状态。
另外,
find/-iname“*”
不会失败并显示文件,包括
/proc

对不起,这听起来像是一个愚蠢的问题,但您使用哪种语言编写应用程序?纯C应用程序,使用libc和glib库。'find'只获取目录的条目;它不单独统计条目。如果您对条目进行了统计(“find/proc/| xargs stat>/dev/null”),您将获得过时文件的eNot。但是如果find是递归遍历的,这怎么可能呢?要获取目录“find”的条目,应该知道它是目录。如何在不检查/var和更高版本的/var/tmp/也是目录的情况下获取/var/tmp/test目录的条目?