2016-02-06 3 views
2

Я хочу указать размер всех подпапок в каталоге. когда я пытаюсь du -h --max-depth=1 выход завален «Отказано в» заявления как таковыеПредупреждение о недопустимости разрешения в команде du

дю: не может читать каталог `./folder_name ': Отказано в

Как я могу подавить эти предупреждения?

Я попробовал обходной путь по конвейеру вывод в Grep следующим

du -h --max-depth=1 | grep -v 'du:'

но не кажется, что работать либо!

ответ

3

Try:

$ du -h --max-depth=1 2>/dev/null 

Это перенаправляет Stderr (дескриптор файла 2) в /dev/null, игнорируя любые сообщения об ошибках.

+0

Есть ли причина, по которой 'grep -v' не работает? – sandy

+1

Причина, по которой ваш 'grep -v 'du:'' не работает, потому что сообщения об ошибках находятся в потоке stderr. В трубе, такой как показанный, это поток stdout, который перенаправляется от одной команды к следующей, и поэтому команда 'grep' никогда не видит сообщения об ошибках. –

+1

@sandy: Рекомендуемое чтение: [Стандартные потоки] (https://en.wikipedia.org/wiki/Standard_streams) – Cyrus

Смежные вопросы