Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 如何找到最大的目录大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想创建一个bash脚本,在目录foo中定位超过500mb的目录. 我有这个命令,以升序大小顺序查找foo目录. du /foo/* | sort -n 这个问题是它包括父目录的大小.例如,输出将是: ... 442790 /foo/bar/baz/qux 442800 /foo/bar/baz 442880 /foo/bar 我希望输出只显示/ foo / bar / baz / qux.由于父
我想创建一个bash脚本,在目录foo中定位超过500mb的目录.

我有这个命令,以升序大小顺序查找foo目录.

du /foo/* | sort -n

这个问题是它包括父目录的大小.例如,输出将是:

...
442790 /foo/bar/baz/qux
442800 /foo/bar/baz
442880 /foo/bar

我希望输出显示/ foo / bar / baz / qux.由于父目录包含/ foo / bar / baz / qux的文件大小,但实际上它们在排除/ foo / bar / baz / qux时是微小的文件夹.

一些伪代码

if the current directory is greater than 500mb then 
    check next directory is parent to current directory (i.e `/foo/bar/baz` is parent of `/foo/bar/baz/qux`) then 
        takeaway size of parent from current.
        if resulTing size is greater than 500mb then
            return row
        else
            go to next row
    else
        go to next row
else
    go to next row

解决方法

使用GNU find和GNU排序:

find /some/dir -type d -exec du -hS {} + | sort -rh

du -S打印除子目录之外的目录大小.

大佬总结

以上是大佬教程为你收集整理的linux – 如何找到最大的目录全部内容,希望文章能够帮你解决linux – 如何找到最大的目录所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。