首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是什么决定了‘du’的运行顺序?

是什么决定了‘du’的运行顺序?
EN

Unix & Linux用户
提问于 2023-01-13 05:05:57
回答 1查看 38关注 0票数 0

在一个不同问题中,我发现“有一些不应该运行du的du”,并且“输出应该告诉您已经完成了什么,下一个导致挂起的是什么”。但是,除非您知道du检查目录的顺序,否则不可能确定“下一步”是什么。那是什么命令?它似乎不是基于名称、最后修改时间、最后访问时间或创建时间(通过检查du --max-depth=1 2>/dev/null的输出和ls --time=[ctime/atime/birth]来确认的),也不是在man du这里中描述的。

(我认识到,为了解决我最初的问题,这个信息并不是必需的--我只需要对一组目录尝试du,直到找到有问题的目录。但我很好奇!)

(对标签过于宽泛表示歉意,但没有特定的du标记,而且不可能不带标签地提交问题)

EN

回答 1

Unix & Linux用户

发布于 2023-01-13 05:45:09

没有什么特别的秩序。它按对象在目录中出现的顺序列出对象,本质上是随机的。(这就是为什么你引用的评论是错误的--你不可能仅仅通过观察已经完成的条目就知道下一步会发生什么。)

您可以得到的唯一排序是,它尊重您在命令行给它的根的顺序;因此,如果您像du /home /var一样运行它,它将以随机顺序遍历/home中的所有元素,然后它将以随机顺序输出/var中的所有元素。

而且,通过/proc运行它也不会有太大问题。

但是,如果要排除某些目录,则有一些开关:

代码语言:javascript
复制
       -X, --exclude-from=FILE
              exclude files that match any pattern in FILE

       --exclude=PATTERN
              exclude files that match PATTERN

       -x, --one-file-system
              skip directories on different file systems

例如,du -x /肯定会跳过/proc和/sys,因为它们是挂载的虚拟文件系统。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/731572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档