linux 删除来自“du”的所有权限被拒绝的消息

zqdjd7g9  于 2023-10-16  发布在  Linux
关注(0)|答案(7)|浏览(168)

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

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

但是我看到了很多像下面这样的错误信息。我如何从显示中排除所有此类“Permission denied”消息?

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

我的请求可能与下面的列表非常相似,只是将“find”替换为“du”。

How can I exclude all "permission denied" messages from "find"?
以下线程不工作。我用bash。
Excluding hidden files from du command output with --exclude, grep -v or sed

s4n0splo

s4n0splo1#

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

或者在bash中更好(只是过滤掉这个特定的错误,而不是像最后一个片段那样)

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

dxpyg8gm2#

为了删除所有来自du命令的错误,我使用了以下命令:

du -sh 2>&1 | grep -v  '^du:'
jm2pwxwz

jm2pwxwz3#

2> /dev/null只隐藏错误消息。
命令du总是尝试在目录上运行。想象一下,你有成千上万的目录?
你需要评估,如果你有permission运行如果没有,按照下一个目录。

dxpyg8gm

dxpyg8gm4#

我会用一些简洁的东西,只排除你不想看到的线条。将stderr重定向到stdout,并使用grep排除所有“denied“:

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

lztngnrs5#

如果2>/dev/null不工作,可能您正在使用的shell不是bash
要检查您正在使用的shell,您可以尝试ps -p $$(请参阅https://askubuntu.com/a/590903/130162

uujelgoq

uujelgoq6#

你可以把它放到一个临时文件里,比如-
du ...> temp_file
错误会打印在终端上,只有磁盘使用信息会打印到temp_file中。

7lrncoxx

7lrncoxx7#

另一种选择:

sudo du / 2> >(grep -v 'Permission denied') 2> >(grep -v 'cannot access') | sort -n

替代我喜欢更多和使用,只是显示顶级目录和人类二进制前缀(虽然不是一个真实的排序):

sudo du -h -d 1 / 2> >(grep -v 'Permission denied') 2> >(grep -v 'cannot access') | sort -n

输出示例:

0   /dev
0   /proc
0   /sys
2.2G    /opt
2.6M    /run
4.0K    /cdrom
4.0K    /srv
7.4G    /snap
8.7G    /usr
12K /media
16K /lost+found
19M /etc
24G /var
48K /mnt
67M /volumes
86M /root
240K    /tmp
295G    /home
305M    /boot
338G    /

相反,如果你想要一个真实的排序(但不太可读),试试:

sudo du -d 1 / 2> >(grep -v 'Permission denied') 2> >(grep -v 'cannot access') | sort -n

输出示例:

0   /dev
0   /proc
0   /sys
4   /cdrom
4   /srv
12  /media
16  /lost+found
48  /mnt
240 /tmp
2632    /run
19216   /etc
68260   /volumes
87512   /root
311420  /boot
2237740 /opt
7755733 /snap
9018580 /usr
25068772    /var
308849688   /home
353419881   /

相关问题