如何限制 du 输出给特定用户?

如何限制 du 输出给特定用户?

我需要帮助特定用户(比如 alice)释放一些磁盘空间;但并非所有用户的文件都位于其主目录中;许多文件位于与其他用户共享的目录中。我希望得到类似以下输出的内容

du -sh *

但仅限于属于该用户的文件。例如,

du -sh --ignore-all-users-except=alice *

因此,例如,如果当前目录中有三个目录,,abc我希望看到如下输出:

1.3G   a
416K   b
80K    c

这意味着 alice 在 里面使用了 1.3G a,在 里面使用了 416K b,等等。

是否有任何实用程序可以提供给我这样的信息,或者我需要一个脚本?

答案1

find / -user alice -print0 | du -ch --files0-from=-

答案2

我想这样就行了。

find . -user alice -type f -exec du -h {} +

更新:你可能需要查看答案这里

相关内容