排除来自“嘟”的所有权限被拒绝的消息(Exclude all permission denied m

2019-07-20 17:59发布

我试图评估多种Unix用户帐户的磁盘使用情况。 简单地说,我使用下面的命令:

du -cBM --max-depth=1 | sort -n

但是我看到很多的错误消息像下面。 我怎样才能排除所有这样的“权限被拒绝”从显示的消息?

du: `./james/.gnome2': Permission denied

我的要求会非常类似于下面的列表,通过替换“查找”到“杜”。

我怎样才能排除所有拒绝“权限”,从“发现”的消息?

以下螺纹不起作用。 我想我使用bash。

剔除杜命令的输出隐藏文件与--exclude,grep的-v或sed的

Answer 1:

du -cBM --max-depth=1 2>/dev/null | sort -n 

或在bash更好(只是筛选出此特定错误,并非所有像上段)

du -cBM --max-depth=1 2> >(grep -v 'Permission denied') | sort -n 


Answer 2:

2>的/ dev / NUL隐藏唯一的错误消息。

命令杜总是试图在目录中运行。 试想一下,你有成千上万迪尔斯的?

杜需要EVAL,如果你有persmission运行如果没有,请与下一个目录,可...



Answer 3:

我会用一些简洁排除只有你不希望看到的线。 重定向错误输出到标准输出,和grep排除所有“拒绝” S:

du -cBM --max-depth=1 2>&1 | grep -v 'denied' | sort -n 


Answer 4:

如果2>/dev/null不工作,也许你正在使用的shell不是bash

要检查你使用,你可以尝试什么壳ps -p $$ (见https://askubuntu.com/a/590903/130162 )



文章来源: Exclude all permission denied messages from “du”